再次: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:自定义计数器的缩进不正确 的相关文章

  • CSS3动画比例[重复]

    这个问题在这里已经有答案了 我正在尝试对 div 进行动画处理 以便在页面加载时它具有比例 0 0 并动画到比例 1 1 我遇到的问题是 一旦动画生效 div 就会再次缩放到 0 我想要的是 div 动画缩放 1 1 并保持这样 这是我的
  • 如何检查字体是否有符号

    我的文档中有以下 css 规则 font family Trebuchet MS Tahoma 但我发现有些浏览器有 Trebuchet MS 字体没有我需要的符号 某些带有非拉丁字符的语言 在这种情况下 浏览器显示方块而不是符号 我怎样才
  • 当通过 javascript 填充输入框时,使物化标签移出输入框

    通常情况下 与物化 http materializecss com 文本输入框的标签显示在输入框中 直到用户选择该框并在其中输入文本 但是 当通过 javascript 填充框的值时 标签不会移开 它保留在框中并与输入的文本重叠 有没有办法
  • CSS位置:绝对+动态高度

    我有 4 个 div 标签一个接一个 全在position absolute我使用它们对齐top and left 第三个 div 标签包含动态内容 并且 div 的高度根据其中的文本量而变化 然而 当我设置top and left在所有
  • CSS:如何在“div”内垂直对齐“标签”和“输入”?

    考虑以下代码 http jsfiddle net s2qBw 3 HTML div div
  • primefaces 元素无法加载我的 css 文件的 url

    当我将样式 css 放在同一个 xhtml 页面中时 它可以与我的页面一起使用 例如
  • 在引导程序中使用容器流体会导致水平滚动条

    这是一个简单的例子 div class container fluid div class row div class col lg 12 DUMMY CONTENT div div div Fiddle 演示 http jsfiddle
  • 当我尝试转发电子邮件时,时事通讯无法隐藏 Gmail 上的响应内容

    我正在尝试写一份时事通讯 但当我测试时 我无法隐藏响应式内容GMail On Outlook and Yahoo一切正常 但如果我尝试转发电子邮件 隐藏的内容就会可见 我测试使用 putsmail https putsmail com gt
  • Django 1.6 的静态文件

    我花了一整天但没有任何作用 我在这里看到了至少 20 篇关于同一主题的帖子 它们各不相同 有不同的建议 但没有一个对我有用 使用 Python 2 7 运行 Django 1 6 我正在尝试从 django 教程加载民意调查应用程序的 cs
  • Bootstrap:下拉菜单无法通过 jQuery 单击打开

    我正在创建一个包含多行的表 所有行都有一个 选项 按钮 该按钮应该显示下拉上下文菜单 为了使代码更短 我使用了一个div以便将其重用为上下文菜单的通用标记 我正在使用 Bootstrap 5 1 3 和 jQuery 3 6 0 以下是我的
  • 禁用任何类型的浏览器窗口滚动?

    有没有办法禁用滚动 不仅仅是滚动条 还有浏览器窗口的全部功能 根据您对 Keit 的回答 您不想在打开灯箱时滚动处于活动状态 如果是这种情况 您可以使用以下 css 在打开灯箱的同时向正文添加一个类 这个解决方案的好处是它保留了滚动 空间
  • 响应式菜单:悬停子菜单显示错误

    简而言之 我根据教程创建了一个响应式菜单 当您将鼠标悬停在投资组合按钮上时 菜单应该显示子菜单 而在移动模式下 您需要按该按钮才能显示子菜单 效果很好 问题是该教程有一个错误 如果您在桌面模式下按组合按钮 子菜单将不会再次显示 除非您按 单
  • Bootstrap 列中的标题高度相同

    我有这样的 html bootstrap css div class container div class row div class col xs 6 col div class block div class title strong
  • 等宽字体中的字体大小和字符宽度之间有什么依赖关系?

    等宽字体中的字体大小和字符宽度之间有什么依赖关系 在我的网络应用程序中 我使用 courier new 字体 我想知道 字符串的实际长度 以像素为单位 是多少 如果我知道CSS font size属性 它如何帮助我知道字符串的实际长度 谢谢
  • 确定使用 -webkit-line-clamp 表示多行省略号时是否显示省略号

    我们使用多行 CSS 省略号https css tricks com line clampin https css tricks com line clampin 我们想要检测省略号是否正在显示 并根据省略号是否正在显示来决定显示工具提示
  • CSS 无法与 CodeIgniter 一起使用

    这是我的 CI 代码的一部分 class page extends CI Controller var Page public function construct parent construct this gt Page 1 this
  • 调整离子卡中的图像大小

    我想显示一组图像 并在下面说明 我选择使用 Ionic 卡 我得到这个结果 第一张图片 虽然我想保留现在的相同布局 并添加描述 这是我的代码
  • 具有固定位置的平滑滚动标题

    当我将位置更改为固定时如何创建平滑滚动 我尝试添加动画但不起作用 最好使用jquery动画 window scroll function var sticky mobile menu scroll window scrollTop if s
  • 如何在缩放动画中保持原点位于图像中心?

    我有类似的情况fiddle https jsfiddle net ddvn3p1h 3 其中我有一个 CSS3 动画 可以缩放绝对定位在另一个元素中心的元素 但是 当动画发生时 它会偏离中心 如示例中相对于蓝色的红色方块所示 我如何将其居中
  • jQuery - 拖动div css背景

    我希望能够在 div 内按住鼠标并移动它的背景 在谷歌上搜索了很多 没有找到我想要的 这是目标 显示的地图是要拖动的对象 http pontografico net pvt gamemap http pontografico net pvt

随机推荐

  • 什么是卓悦?

    今天下午我在看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 中使