【发布时间】:2013-09-10 08:51:07
【问题描述】:
在 CSS 和 HTML 中,height: auto 是如何工作的?浏览器在计算元素的高度时会考虑什么,height 设置为auto?
【问题讨论】:
-
很复杂,取决于很多因素,described in the specification.
在 CSS 和 HTML 中,height: auto 是如何工作的?浏览器在计算元素的高度时会考虑什么,height 设置为auto?
【问题讨论】:
这是copied from the W3C CSS2 spec的摘录
如果它只有内联级别的孩子,高度就是距离 在最顶部行框的顶部和底部之间 最底线框。
如果它有块级的孩子,高度是之间的距离 最顶层块级子框的上边距边缘和底部 最底部的块级子框的边距。
绝对定位的子元素被忽略,而相对定位 盒子被认为没有它们的偏移量。请注意,子框可能 做一个匿名的方块盒。
此外,如果该元素有任何浮动后代,其底部 边距边缘低于元素的底部内容边缘,然后 高度增加以包括这些边缘。只浮动那个 参与此块格式化上下文被考虑在内, 例如,浮动在绝对定位的后代或其他浮动内 不是。
【讨论】:
你可以拆分两种情况:
因此,换句话说,除非您需要重置浏览器行为或保持与某些对象的比例,否则它是无用的。
【讨论】: