html - 具有内联 block 属性的文本的空 div 与 div

标签 html css

想知道这种行为的原因。

CSS

div {
   display: inline-block;
   margin-right: 2px;
   width: 20px;
   background-color: red;
}

空 div

<div style="height:20px;"></div>
<div style="height:40px;"></div>
<div style="height:60px;"></div>
<div style="height:80px;"></div>

行为:元素从下往上增加(高度)

带文本的 div

<div style="height:20px;">20</div>
<div style="height:40px;">30</div>
<div style="height:60px;">40</div>
<div style="height:80px;">50</div>

行为:元素从上到下增加(高度)

查看实际效果:http://jsfiddle.net/8GGYm/

最佳答案

基本上它与 vertical-align: 的计算方式有关。所以如果你把 vertical-aling:bottom; css 中的属性,那么你会注意到它在有文本和没有文本的情况下都是一样的。

您可以阅读 this了解更多详情。

当 div 没有内容时,不会在框中绘制填充(即当为 0 时,如果有内容,浏览器会计算填充的位置)。所以有文本和无文本的计算有一点不同。

希望对您有所帮助。

关于html - 具有内联 block 属性的文本的空 div 与 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24862861/

相关文章:

html - 如何设置位置绝对高度为 100% 和垂直中间的 div?

Java FX 场景生成器无法识别 css 自定义颜色常量(或变量)

html - 文本对齐不适用于同一行

css - Angular UI Bootstrap 下拉菜单转换

javascript - 使 localStorage 或 sessionStorage 像 cookie 一样过期

php - JavaScript 表单验证 HTML 表格中的行

html - -moz-背景剪辑 : *text* in Mozilla

css - 伪元素与原始元素重叠,即使有 z-index

javascript - IE9 检测不到 PC 上安装的字体

javascript - 测试删除未使用的表(迁移)不会影响应用程序的最佳方法是什么