html - 为什么在下面的示例中,内联 block 元素没有占据整个高度?

标签 html css

有一个高度和宽度均为 100% 的内联 block 元素:

<div style="width: 100%; height: 100%; background: red; display: inline-block">Y</div>

为什么doesn't this div take up whole height, but takes up full width

最佳答案

block 框上的自动宽度 causes it to be as wide as its containing block allows 。另一方面,自动高度 causes it to only be as tall as its contents .

有问题的 block 框是body,扩展后是html。这两个元素都没有固有高度(即使初始包含 block 有),因此两个元素的高度默认为 auto

内联 block 的 100% 宽度和高度尊重其包含 block 的使用宽度和高度,在本例中为 body。如果您在 body 上指定任意高度,或在 html, body 上指定 height: 100%,则内联 block 将相应调整.

请注意,由于内联 block 本质上与 block 框相同(除了内联放置之外),因此百分比宽度和高度的计算方式与元素是 block 级的相同。

关于html - 为什么在下面的示例中,内联 block 元素没有占据整个高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24724924/

相关文章:

html - 无法使具有背景图像的三个 div 响应

jquery - ie8 中 jquery 数据表的文本对齐 css

javascript - 使用 javascript 为用户延迟加载内容的更好方法是什么?

html - Bootstrap 2.3 网格操作

javascript - 通过单击按钮打开抽屉时禁用文本框

javascript - jquery 点击功能不工作

jquery - <a> 父级的事件冒泡,从 onclick 事件监听器返回 false

html - 响应宽度和高度的圆圈

css - 减少 '+' css 选择器的代码

css - 使用组元素旋转 SVG 圆