再次:CSS、UL/OL:自定义计数器的缩进不正确

2024-04-16

我在中描述了我原来的问题这个线程 https://stackoverflow.com/questions/16521330/css-ul-ol-incorrect-indent-with-custom-counter.
简而言之,当在 UL 中使用自定义计数器时,文本缩进被破坏。
马克·奥德特 https://stackoverflow.com/users/564353/marc-audet提出了一个非常优雅的解决方案,我在代码中实现了它。

现在 - 毫不奇怪 - 如果列表应该围绕图像浮动,那么这不起作用:-(

您可以在这里看到问题:http://cssdesk.com/eEvwn http://cssdesk.com/eEvwn

数字位于图像的顶部。 再次强调:毫不奇怪,他们毕竟是绝对定位的。

所以。 有没有办法解决这个问题,或者我是否必须告诉我的客户这在技术上是不可能的,从而让他不高兴?

再次感谢您抽出时间来回答。

如果您需要更多信息,请告诉我。


我重新审视了之前的解决方案并对 CSS 进行了一些修改,如下所示。

对于顶级列表:

ol.custom {
    margin-left: 0;
    padding-left: 0px;
    counter-reset: counter_level1;
    list-style: none outside none;
    display: block;
    line-height: 18px;
    width: 500px;
}
ol.custom li {
    list-style: none;
    margin: 0 0 0 0;
    padding: 0 0 0 20px;
    outline: 1px dotted blue;
    overflow: hidden;
}
ol.custom li:before {
    display: inline-block;
    width: 20px;
    margin-left: -20px;
    content: counter(counter_level1)". ";
    counter-increment: counter_level1;
    font-weight: bold;
}

对于嵌套列表:

ol.custom ol {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    counter-reset: counter_level2;
}
ol.custom ol li {
    position: relative;
    margin: 0 0 0 0;
    padding: 0 0 0 40px;
}
ol.custom ol li:before {
    display: inline-block;
    width: 40px;
    margin-left: -40px;
    content: counter(counter_level1, decimal)"." counter(counter_level2, decimal)". ";
    counter-increment: counter_level2;
}

本质上,我删除了绝对定位的伪元素,因为它们在浮动内容附近不起作用。

但是,由于伪元素的负边距,标签仍然可能与浮动图像重叠,因此添加overflow: hidden到顶层li样式,这会创建一个新的块格式化上下文,以解决重叠问题。

缺点:根据您的内容和浮动图像,您可能会获得一些大块的空白,如我的新演示所示:

http://jsfiddle.net/audetwebdesign/buXKy/ http://jsfiddle.net/audetwebdesign/buXKy/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

再次:CSS、UL/OL:自定义计数器的缩进不正确 的相关文章

  • 为什么使用 DIV 或 span 标签比使用表格布局“更好”? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么不在 HTML 中使用表格进行布局 https stackoverflow com questions 83073 why not use tables for layout in html 为
  • CSS“Shrinkwrap”方法如何与 max-width 一起使用并且没有 BR 换行标记?

    我正在尝试创建一个最大宽度边界框 它将包裹文本 在空格上 不允许断字 并收缩到最长文本行的宽度 有关各种收缩包裹方法的演示 请参见http www brunildo org test IEMshrink to fit html http w
  • 180 度旋转 div 只能从一侧点击

    我遇到了一个相当奇怪的问题 我有一个可以通过 CSS3 旋转的 div 该 div 有一个前 div 子级和后 div 子级 后 div 具有 webkit transform rotateY 180deg set 问题是 一旦旋转父元素以
  • 如何防止 itext7.pdfhtml 创建的 PDF 中的文本跨页中断?

    我正在使用 itext7 版本 7 1 2 和 itext7 pdfhtml 版本 2 0 2 从一些包含不得跨页面中断的元素 例如图形及其随附文本 的 HTML 生成 PDF 我尝试过使用显式分页符 正如在我们的旧版 iTextSharp
  • 具有多个路径的 SVG 剪辑路径的悬停事件

    我有一个 SVG 演示图像 其中包含多个正在剪辑动画 GIF 的圆圈 当用户将鼠标悬停在每个圆圈上时 是否可以观察每个圆圈的悬停事件 例如左上角的圆圈或右中角的圆圈 另外 当这些圆圈悬停时 是否可以操纵这些圆圈上的颜色叠加 EDIT 理想情
  • 为什么 Chart.js 画布不考虑容器元素的填充?

    我将 Chart js 与简单的折线图一起使用 但 Chart js 计算的宽度和高度属性似乎基于父元素的总宽度和高度 忽略填充 var options maintainAspectRatio false responsive true v
  • 在 Twitter Bootstrap 轮播中显示下一张和上一张图像

    我正在寻找一种在 Twitter Bootstrap 轮播中显示下一张和上一张幻灯片图像的方法 默认情况下 它只显示当前图像 如果我删除 display none css 属性 则轮播中的每个项目都在彼此下方 我尝试过使用 CSS 但还没有
  • 具有不同高度块的三列布局

    我有基于 Twitter Bootstrap 的简单 3 列布局 唯一的问题是 每根柱子都是由不同高度的块组装而成 div class container div class row div class span4 div class bl
  • 带有checked和after标签的css表单复选框样式[重复]

    这个问题在这里已经有答案了 我正在尝试在不使用 JavaScript 或 JQuery 的情况下设计一个表单 它包括一系列复选框 这个想法是如果未选中复选框 则在复选框后显示某个 gif 否则 后面不显示任何内容 这是我的代码 input
  • 在固定位置元素上缩放 div 时丢失文本清晰度(模糊)(在移动 safari/webkit 浏览器上)

    附有重现代码 它 基本上 包含两个 div 元素 红色 固定 和黑色 带文本 单击黑色 div 时 它会放大 并且其上的文本保持清晰 然而 在 4 秒后 黑色 div 的 z index 发生了变化 黑色 div 变成了over红色分区 B
  • 使用选择器获取最接近的父元素(不包括当前元素)

    我正在尝试获取元素的最接近的父元素 看着 closest https developer mozilla org en US docs Web API Element closest 如果选择器与元素匹配 它似乎会返回元素本身 Closes
  • 我可以用 SASS \ Compass 计算和使用元素高度吗

    我在 RoR 项目中使用 sass 和 compass 我需要分配给top元素的 CSS 属性值 即元素高度除以 2 我可以用 SASS Compass 来做吗 你似乎已经得到了XY问题 https meta stackexchange c
  • 如何在跨度上使用 CSS3 变换? [复制]

    这个问题在这里已经有答案了 我有一个行内元素 a span 嵌套在 h1 标签 我申请了一个转换财产给h1 skew所以它看起来像一个平行四边形 我需要转换 the span 标记以 矫正 它及其文本 但这似乎只适用于 IE Here is
  • 键盘友好的 CSS 菜单

    我的问题是这个问题的续集 键盘可访问的网络下拉菜单 https stackoverflow com questions 3945490 keyboard accessible web dropdown menus 虽然上述问题表明 我们想出
  • 如何使用.clearfix类?

    我想我误解了这个概念 clearfix班级 也许有人可以帮助我 我正在寻找一种使用方法float and clear不会弄乱我的标记 所以我想 那就是那里 clearfix可以用于 在空的 H5BP 项目内部 我的标记如下所示 div di
  • height: calc(100%) 在 CSS 中无法正常工作

    我有一个 div 我想填充主体的整个高度减去设定的像素数 但我无法得到height calc 100 50px 上班 我想这样做的原因是我有一些元素具有基于一些不同标准的动态高度 例如标题的高度根据它可以包含的不同元素而变化 然后 内容 d
  • 如何在 div 标签上添加带边框的三角形

    我有一个 div 标签 我想在它上面添加一个小三角形 注意 我希望我的 div 标签具有某种颜色的边框 以及另一种颜色的 div 主体 假设我的 div 背景为白色 边框为蓝色 请看这个 http fiddle jshell net pau
  • 使用 CSS 过渡动画 max-height

    我想创建一个仅由类名驱动的展开 折叠动画 javascript 用于切换类名 我正在上一堂课max height 4em overflow hidden 和另一个max height 255em 我也尝试过这个值none 根本没有动画 这个
  • CSS:悬停在多个 div 上时显示样式

    我有 2 个不同尺寸的 div 一个放在另一个上面 所以有一个共同的交叉区域 这两个 div 都有 CSS hover 规则集 如果我将鼠标悬停在每个 div 上 则规则适用 但是 如果我移过交叉区域 则只会激活顶部 div 悬停 当鼠标悬
  • CSS 可见性动画不起作用

    我想在 CSS 可见性属性上制作基于关键帧的动画 我最初在 显示 上尝试过 但发现不支持 显示 上的动画 但支持 可见性 这个想法是让矩形的可见性不断切换 我不想使用 jquery 并且想在 CSS 中实现整个它 以下是我的代码 但它没有给

随机推荐

  • 什么是卓悦?

    今天下午我在看WWDC视频时 听到了Bonjour这个词 所以我只想知道Apple中的Bonjour是什么 这只是为了澄清概念 Thanks 在计算领域 Bonjour 以前称为 Rendezvous1 http en wikipedia
  • Apollo GraphQL Lambda 处理程序无法读取未定义的属性“方法”

    我正在尝试在我的 AWS lambda 中运行 Apollo GraphQL 服务器 我正在使用来自的库here https www npmjs com package as integrations aws lambda 我还使用 CDK
  • Django 开发服务器可以正确提供 SVG 服务吗?

    我正在尝试使用以下方法提供 svg 地图 在 Firefox 中 这会导致插件提示 如果我重命名地图 svg to map xml它正确显示图像 我认为这是因为 Django 的开发服务器 具体来说django views static s
  • React Native android moveTaskToBack?

    有没有一个图书馆有这样的能力moveTaskToBack在反应本机 以前我用https github com jaysoo react native activity android https github com jaysoo reac
  • Gstreamer 中的图像幻灯片

    我想制作一个 GStreamer 应用程序 它采用 xml 文件处理其内容 提供图像 url 其重量以及在屏幕上显示的持续时间等信息 可以使用libxml在C中清楚地处理xml文件 但是我们如何使用 GStreamer 库创建图像的幻灯片
  • Java:迭代 org.w3c.dom.Document 中所有元素的最有效方法?

    在 Java 中迭代所有 DOM 元素最有效的方法是什么 类似这样的东西 但是对于当前的每个 DOM 元素org w3c dom Document for Node childNode node getFirstChild childNod
  • MySQL优化INSERT速度因索引而变慢

    MySQL 文档 http dev mysql com doc refman 5 0 en insert speed html say 假设 B 树索引 表的大小会使索引的插入速度减慢 log N 这是否意味着对于每个新行的插入 插入速度将
  • Java图形图像

    嘿 我在 Jpanel 中添加以下图像 msu footprints org 2011 Aditya map jpg http msu footprints org 2011 Aditya map jpg 然后添加多边形 int x new
  • 在 Linux 上安装 tar.gz

    我已经从以下位置下载了 Node js这个链接 https nodejs org en 单击按钮时指向此链接 https nodejs org dist v4 1 2 node v4 1 2 linux x64 tar gz https n
  • 为什么 1 不大于 -0x80000000 [重复]

    这个问题在这里已经有答案了 为什么1不大于 0x80000000 我知道这与溢出有关 但有人可以解释为什么吗 0x80000000 不是一个常量吗 我认为它是 assert 1 gt 0x80000000 C 中的断言触发器 这是为什么 我
  • 使用 jQuery 动态填写表单值

    我知道如何使用纯 PHP 执行此操作 但我需要在不重新加载页面的情况下执行此操作 无论如何 jQuery 是否可以有效地拉回一些数据库结果 基于用户在表单上的第一个文本字段中输入的内容 然后使用从数据库查询拉回的数据填充剩余的一些字段 本质
  • 运行 Jest 测试并收集特定目录中所有文件的覆盖率

    我正在使用以下代码对特定文件运行 Jest 测试 jest utils spec js collectCoverageFrom utils js 如果我想测试我使用的整个目录 jest someDirectory collectCovera
  • ...此内容也应该通过 HTTPS 加载

    再会 Site https mult privet com https mult privet com 在我的 Chrome 控制台中 我看到以下错误 blocked The page at https yandex st share ya
  • Vaadin Flow 应用程序自动在明暗模式之间切换

    Vaadin Flow 14 附带了两个捆绑主题的浅色和深色版本 Lumo and Material And now 浏览器可以向主机操作系统询问用户对浅色或深色模式的偏好 https stackoverflow com q 5084016
  • 返回空字符串或空值是否有更多优势?

    如果我正在编写以下方法 例如 那么以下方法是否被认为是良好的做法 A 如果文档不存在则返回空字符串 B 返回一个null value 做了很多 Java 工作 并且 Java 中的方法需要返回类型 我的印象是返回一致的类型是最佳实践 PHP
  • 使用 jquery UI 下一个按钮提交输入字段值,php 回显结果

    我当前正在使用 jquery ui 选项卡 仅适用于下一个 上一个按钮 和文本区域 我开发了一个 ajax js 函数 它将自动提交存储在文本区域中的值 并在 tab 2 中回显结果 但我目前想将自动提交表单的方法更改为当用户单击 下一步
  • 在 Xcode 4 中编译 Java

    我知道这个问题已经流传了很长时间 Xcode 4 中的 Java 我不需要任何建议 Eclipse Netbeans 例如 我只想在 XCode4 而不是 3 中编译一些简单的 Java 代码 我设法创建了一个文件 正如预期的那样 语法和一
  • 如何使 QPlainTextEdit 看起来像 .txt 文件?

    我有一个 QPlainTextEdit 它以表格形式显示一些信息 并且我添加了将其另存为 txt 文件的选项 我建了桌子漂亮的 https pypi python org pypi PrettyTable 当我打开 txt 文件时 它看起来
  • Android 平台中的推送通知

    我正在寻找编写一个从服务器接收推送警报的应用程序 我找到了几种方法来做到这一点 SMS 拦截传入的 SMS 并从服务器发起拉取 定期轮询服务器 每个都有其自身的局限性 短信 不保证到达时间 轮询可能会耗尽电池电量 请问您有更好的建议吗 非常
  • 再次:CSS、UL/OL:自定义计数器的缩进不正确

    我在中描述了我原来的问题这个线程 https stackoverflow com questions 16521330 css ul ol incorrect indent with custom counter 简而言之 当在 UL 中使