【问题标题】:Why am I seeing an extra space after the bullet in UL in Chrome为什么我在 Chrome 中的 UL 中的项目符号后看到一个额外的空格
【发布时间】:2017-01-27 12:30:15
【问题描述】:

运行 Windows 7,Chrome 版本 53.0.2785.116 m

似乎在项目符号和 li 项目的第一个字符之间的 ul 列表中添加了一个巨大的间隙。我正在使用 list-style-position: inside;这似乎是在添加空格(我并不是指整行的位置更远 - 只是项目符号和第一个字符之间的空格。)

基本的 HTML5,没有其他 CSS 示例可以显示:

<ul>
	<li style="list-style-position: inside;">One</li>
	<li>Two</li>
	<li>Three</li>
</ul>

将第一行中的空格与其他两行进行比较。

为什么?!这是 Microsoft Internet Explorer 的一个糟糕的设计“功能”,我当然希望 Google 不会模仿它。差距似乎比IE更大。所以现在在 Chrome 中查看页面时,我得到了额外的(和不必要的)换行。这意味着可以将更少的内容放入固定宽度/高度的设计中。或者更小的字体来补偿等等。

项目符号与内容之间只需要一个空格;充当指向列表的文本与列表中的每个项目之间的空格。

还有人看到这个吗? (这必须是最近的,因为上周我更新页面时还不是问题)

【问题讨论】:

  • 将其作为错误报告给 chromium 团队,看看他们怎么说。我不确定这里是否有问题,但除了其他人看到这个之外,我可以说是的。
  • 只是想补充一点,Chrome 的 52 和 53 版本之间发生了变化。我跑52没看到空间,后来升级了看到空间。
  • 是的,通过下拉菜单中的“报告问题...”链接向 Chrome 发送了类似的问题 - 将报告任何回复。但是,还需要知道它是我和我的代码独有的东西,还是通用的,以及额外的空间是否是人们期望发生的事情,以及 Chrome 现在是否“修复”了一个旧错误,或者引入了一个新错误.
  • 哈。我知道我的列表看起来有些不同/错误。我可以在 Chrome 53.0.2785.116 m 中确认此行为。
  • crrev.com/2023433002 可能是引入 Chrome 行为变化的地方。如果是这样,则更改是故意的,因此不太可能在将来的版本中更改回来。 :(

标签: html css google-chrome


【解决方案1】:

与此同时,我可能会建议以下解决方法:

li:before {
    content: "\a0";
    display: inline-block;
    width: 0;
    margin-left: -.5em;
    margin-right: -.5em;
}

例如:

http://dojo.telerik.com/AseNe

希望您能够提出一个合适的选择器,该选择器将针对所有相关的&lt;ul&gt;s,并且不需要更改 HTML 标记。

【讨论】:

    猜你喜欢
    • 2022-11-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 1970-01-01
    • 2013-07-24
    • 2023-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多