【问题标题】:How height: auto works in HTML and CSS?height: auto 如何在 HTML 和 CSS 中工作?
【发布时间】:2013-09-10 08:51:07
【问题描述】:

在 CSS 和 HTML 中,height: auto 是如何工作的?浏览器在计算元素的高度时会考虑什么,height 设置为auto

【问题讨论】:

标签: html css height


【解决方案1】:

这是copied from the W3C CSS2 spec的摘录

如果它只有内联级别的孩子,高度就是距离 在最顶部行框的顶部和底部之间 最底线框。

如果它有块级的孩子,高度是之间的距离 最顶层块级子框的上边距边缘和底部 最底部的块级子框的边距。

绝对定位的子元素被忽略,而相对定位 盒子被认为没有它们的偏移量。请注意,子框可能 做一个匿名的方块盒。

此外,如果该元素有任何浮动后代,其底部 边距边缘低于元素的底部内容边缘,然后 高度增加以包括这些边缘。只浮动那个 参与此块格式化上下文被考虑在内, 例如,浮动在绝对定位的后代或其他浮动内 不是。

【讨论】:

    【解决方案2】:

    你可以拆分两种情况:

    • div 和其他容器:高度是浏览器将使用的高度,如果您不指定任何内容,试图包含元素内容。 (阅读 Mathijs 的回答了解更多详情)
    • 图像和其他块元素具有固有尺寸(宽度和高度):如果您指定宽度,则“高度:自动”将按比例缩放。

    因此,换句话说,除非您需要重置浏览器行为或保持与某些对象的比例,否则它是无用的。

    【讨论】:

      猜你喜欢
      • 2013-07-31
      • 2019-05-18
      • 1970-01-01
      • 1970-01-01
      • 2012-10-28
      • 2020-07-17
      • 1970-01-01
      • 2013-05-08
      • 2011-11-01
      相关资源
      最近更新 更多