首页  >  文章  >  web前端  >  为什么空的内联块 Div 有高度?

为什么空的内联块 Div 有高度?

Barbara Streisand
Barbara Streisand原创
2024-11-06 06:38:03340浏览

Why Do Empty Inline-Block Divs Have Height?

为什么 Inline-Block 为空 Div 设置高度

当空 div 元素被分配显示属性“inline-block”时,它意外地表现出高度增加,这种现象在“display:block”中不会发生。这种看似矛盾的行为源于内联块格式的固有特征。

内联块中的行高计算

将元素设置为内联块后,行高计算发生了转变。内联块不是对齐文本的底部,而是对齐底部、顶部或两者。

空内联块的行高

对于空内联块元素,行高计算源自与元素关联的字体规格。但是,由于没有文本内容,这会导致元素根据从其父元素(通常是正文)继承的字体大小假定基本行高。

修复空内联-块高度

为了消除由继承的行高引起的不需要的高度,可以使用一个包装元素,将字体大小显式设置为 0,从而有效地取消任何行高计算:

.wrapper {
    font-size: 0;
}
.wrapper div {
    font-size: medium;
}

更新:空内联块的高度

需要注意的是,空内联块元素的高度没有官方文档。然而,观察揭示了一种模式。

最小行距保留

无论是否有内容,内联块元素似乎都会保留最小行距。此空间基于从父元素继承的行高。

含义

此行为表明 inline-block 本质上期望内容并保留默认行空间为了它,即使它是空的。虽然这与零高度空行框的 W3 规范相矛盾,但这是内联块格式特有的一个怪癖。

以上是为什么空的内联块 Div 有高度?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn