【发布时间】:2015-03-28 01:01:55
【问题描述】:
我今天在设计中遇到了一个奇怪的行为。让我先给你看我的代码,然后再讨论它
*,
*:after,
*::before {
-moz-box-sizing: border-box;
box-sizing: border-box;
}
body,
html {
height: 100%;
padding: 0;
}
#all-content,
#content-outer,
#content-inner {
height: 100%;
position: relative;
}
#content-inner {
overflow-y: scroll;
}
.block {
display: inline-block;
font-size: 0;
background-color: yellow;
width: 50px;
height: 50px;
border: 3px solid black;
}
<div id="all-content">
<div id="content-outer">
<div id="content-inner">
<div id="main-field">
<div class="block">text</div>
<div class="block">text</div>
<div class="block">text</div>
<div class="block">text</div>
</div>
</div>
</div>
</div>
问题是,在这段代码中,#main-field 元素有一个奇怪的顶部填充。
有两种方法可以解决这个问题。要么将 line-height : 50px 规则应用于 .block 类,要么将字体大小更改为零以外的值。
我想知道为什么会发生这种情况,因为我从来没有遇到过这种奇怪的行为。
【问题讨论】: