我有一个<ul>
,里面有几个浮动的<li>
。我做了我的标准css overflow:auto;
以清除浮动并使<ul>
与孩子的大小相匹配。这在webkit浏览器中很有用,但在firefox中它会生成一个垂直滚动条。我使用overflow: hidden;
解决了这个问题,但我很好奇是否有人知道为什么overflow:auto;
会在<ul>
元素中产生这种行为。谁知道?
答案 0 :(得分:0)
你说你匹配了孩子的大小,这意味着你已经设置了<ul>
的高度/宽度,所以如果没有足够的高度,那么可能会出现垂直滚动条。此行为可能会有所不同,具体取决于浏览器对差异边距,填充,默认值等的解释。
答案 1 :(得分:0)
没有溢出:没有。默认为“可见”。用溢出来解除你想要的浮动控制:自动。
如果您正在设置溢出,则根本不要在ul上设置高度。在具有溢出的元素上设置高度实际上要求子项被切断(溢出:隐藏)或强制滚动条(自动)。不在父级上设置尺寸意味着“自动”没有理由首先创建任何滚动条。
没有看到任何代码,浏览器之间的差异可能只是字体渲染。也许你的Firefox将文字放在里面只是一个更大的头发。让李的更大。使它们需要溢出固定高度的容器。
虽然如果是这种情况并且由于某种原因你真的需要在溢出控制父级上设置高度,请尝试在em中设置该高度。只要文本不换行到新行,它就可以随文本增长一点。
如果这个代码高度挑剔,你也可以使用其他许多浮动限制代码。