-1

我有一个<ul>有几个浮动<li>的。我做了我的标准 cssoverflow:auto;来清除浮动并<ul>匹配孩子的大小。这在 webkit 浏览器中效果很好,但在 Firefox 中它会产生一个垂直滚动条。我通过使用解决了这个问题overflow: hidden;,但我很好奇是否有人知道为什么会在元素overflow:auto;中产生这种行为。<ul>有人知道吗?

4

2 回答 2

0

没有溢出:没有。默认为“可见”。哪个取消了您想要的浮动包含溢出:自动。

如果要设置溢出,则根本不要在 ul 上设置高度。在溢出的元素上设置高度实际上是要求孩子要么被切断(溢出:隐藏)或强制滚动条(自动)。不在父级上设置尺寸意味着“自动”没有理由首先创建任何滚动条。

没有看到任何代码,浏览器之间的区别可能只是字体渲染。也许您的 Firefox 显示 li 中的文本只是大了一点。使里更大。使他们需要从固定高度的容器中溢出。

尽管如果是这种情况并且由于某种原因您确实需要在控制溢出的父级上设置高度,请尝试在 em 中设置该高度。只要文本不换行,它就可以随着文本增长一点。

如果这个代码对高度很挑剔,您也可以使用其他许多浮动包含代码中的任何一个。

于 2012-08-06T19:57:20.727 回答
0

你说你匹配了孩子的大小,这意味着你已经设置了高度/宽度<ul>,所以如果没有足够的高度,可能会出现垂直滚动条。此行为可能会有所不同,具体取决于浏览器对不同边距、填充、默认值等的解释。

于 2012-08-06T19:39:20.243 回答