【问题标题】:HTML List Item Number Displaced by Containing "float" Element包含“float”元素的 HTML 列表项编号
【发布时间】:2015-11-30 08:31:18
【问题描述】:

下面是两个有序列表项的 HTML 代码。我需要在其中一些列表项中插入一个带有float: left 的元素。但这会将编号向右移动:

.blob {
    float: left;
    width: 1cm;
    height: 5mm;
    background-color: #f00;
}
<ol>
    <li>Item 1</li>
    <li><div class="blob"></div> Item 2</li>
</ol>

我们如何避免这种情况?我更喜欢没有 JavaScript 的解决方案。

要明确:我希望数字在彼此下方,红色框位于第二项的文本左侧。

更新:此问题仅出现在 Chrome 中。

【问题讨论】:

  • 你能解释一下你想要达到的效果吗?你想在哪里有红色的 div?
  • 它正在做它应该做的事情!
  • @esel:我更新了我的问题。
  • @theV0ID 在您的问题中可能值得注意的是,该问题似乎只影响 Chrome。 FF 和 IE 似乎可以正确显示。

标签: html css


【解决方案1】:

不要使用float,改用display:inline-block

注意:正如@HiddenHobbes 在评论中提到的那样

[原始] 问题似乎只出现在 Chrome 中。

.blob {
    display: inline-block;
    width: 1cm;
    height: 5mm;
    background-color: #f00;
}
<ol>
    <li>Item 1</li>
    <li><div class="blob"></div> Item 2</li>
</ol>

【讨论】:

  • 纠正我如果我错了,Op 和你的输出看起来一样吗?
  • @n01ze 你是对的,也是对的! :) Paulie 的建议确实有效,它可能看起来相同的原因是该问题似乎只出现在 Chrome 中。
  • @HiddenHobbes Gosh :/ 又是我的错,我正在登记 FF
  • 我也不好...我也没有检查 FF...显然 OP 也没有。
  • 别担心@n01ze,直到我查看了您的和其他一些 cmets,我才意识到浏览器之间的结果是不同的。
猜你喜欢
  • 2013-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-13
相关资源
最近更新 更多