为什么对于具有 float:left 样式的 li ,浏览器将 ul 元素的高度计算为 0?

2024-01-18

在要点中呈现的代码中:https://gist.github.com/1341600 https://gist.github.com/1341600我正在尝试使用 ul/li 元素将一些搜索表单元素(而不是表格)分组在一起。 当检查浏览器(带有 firebug 的 Chrome 15/FF 7)中的输出时,ul 元素的高度似乎为 0,并且 li 元素显示在其外部。当我注释掉

float: left;声明来自ul.search-inputs liCSS 声明则 ul 元素的高度将正确显示。

有人能给我指出一个解决方案,以便正确查看 ul 元素的高度吗?


这不是一个错误,这是一个功能!

浮动元素的容器会缩小,以便其他内联元素将在其周围流动(根据规范)。

这种情况下的 3 个选项是:

  1. 使用已知的高度值并将其应用于ul元素。

    ul { height: 150px; }
    
  2. Use the overflow财产在ul元素强制浏览器重新计算其高度及其内部的所有元素。

    ul { overflow: hidden; } /* hidden is preferred as it never adds scrollbars */
    
  3. 使容器本身漂浮。因为如果它自己漂浮,就不需要收缩它。

    ul { float: left; }
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么对于具有 float:left 样式的 li ,浏览器将 ul 元素的高度计算为 0? 的相关文章

随机推荐