CSS溢出:隐藏隐藏列表的子弹?

时间:2011-01-30 14:48:17

标签: html css overflow html-lists

我刚注意到一些有趣的事情。假设我有一个HTML列表:

<ol>
    <li>Lorem</li>
    <li>ipsum</li>
    <li>dolor</li>
    <li>sit amet enim. Etiam ullamcorper. Suspendisse a pellentesque dui, non felis. Maecenas malesuada elit lectus felis, malesuada ultricies. Curabitur et ligula.</li>
</ol>

这个CSS:

li {
    white-space: nowrap;
    overflow: hidden;
}

最后一项中的长文本在脱离容器宽度时确实被破坏了,正如预期的那样。但!列表项目编号也受overflow属性的影响,不会显示。

但是,像这样修改CSS:

ol {
    overflow: hidden;
}
li {
    white-space: nowrap;
}

按预期工作(文本不会超出容器,但会显示列表项)。至少所有这些都适用于Firefox 4 beta10。

你不认为受overflow影响的编号有点不合逻辑吗?为什么会这样?这是有意的行为吗?它是在规范中还是只是某些人忘记处理的奇怪之处?

3 个答案:

答案 0 :(得分:40)

据我所知,这是默认行为,如果list-style-positionoutsideul的项目符号和ol的数字不显示。至少在Firefox中,我记得以前在旧版本中看过它。

答案 1 :(得分:1)

浏览器将默认边距和填充添加到列表中。首先尝试使用reset.css删除默认样式,以便您可以在没有意外行为的情况下开始干净清爽。搜索Eric Meyer的重置。希望它有所帮助。

答案 2 :(得分:0)

我看到当ul的左侧没有足够的填充时,我的子弹/数字会被修剪。尝试添加一点,看看是否有帮助。