这两个内嵌块<div>
应该(至少,我认为它们会)对齐:
<div class="calendar">
<div class="month">
<div class="month-name">January</div>
</div>
<div class="day">
<div class="day-number">21</div>
<div class="day-name">Wednesday</div>
</div>
</div>
<div class="button"></div>
我用像素精度设置每个<div>
的高度:
.calendar {
display: inline-block;
width: 80px;
height: 74px;
}
.calendar .month {
background-color: firebrick;
border-radius: 3px 3px 0 0;
}
.calendar .month-name {
color: white;
font-size: 13px;
text-align: center;
height: 26px;
}
.calendar .day {
background-color: linen;
border-radius: 0 0 3px 3px;
}
.calendar .day .day-number {
color: black;
font-size: 26px;
font-weight: bold;
text-align: center;
height: 30px;
}
.calendar .day .day-name {
color: darkgray;
font-size: 10px;
text-align: center;
height: 18px;
}
.button {
background-color: silver;
display: inline-block;
border-radius: 3px;
width: 220px;
height: 74px;
}
但这会产生以下结果:
以下是此代码的fiddle。
这让我发疯,但结果在多个浏览器中都是一致的,所以我一定做错了。
任何人都可以解释原因并提供修复吗?
答案 0 :(得分:5)
对任何内联块进行vertical-align:top
。
.calendar { vertical-align: top; }
说明:内联块仍然是“内嵌”,垂直对齐是基线,意味着它们不一致,并且它们的高度会有所不同,顶部使它们始终从顶部开始。
答案 1 :(得分:3)
将日历div上的垂直对齐设置为顶部
.calendar {
display: inline-block;
width: 80px;
height: 74px;
vertical-align:top;
}
<强> jsFiddle example 强>