【发布时间】:2012-11-28 07:06:13
【问题描述】:
我刚刚偶然发现了一个非常奇怪的行为,它的布局使用了table-cell css 属性。我在当前的 FF、Safari 和 Chrome 中尝试了以下代码。这种行为到处都是一样的。
我的问题是是否有人知道为什么会发生这种情况。它是浏览器错误还是已定义的行为?我发现this 问题提示了如何解决该问题,但我更想知道为什么会发生这种情况。我想其他人也想知道。
问题:如果我在第二个表格单元格中的  中发表评论,一切都很好。但是,如果 div 保持为空,则其他两个单元格的内容类似于“偏移顶部”。此偏移量与中间单元格的高度具有相同的尺寸。 IE。外部单元格的内容移到底部。我添加了两个截图 div_not_empty.png 和 div_empty.png。
谢谢
更新 我忘记截图了。他们来了:
代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Strange behavior with table-cell formatting</title>
<style type="text/css" media="screen">
#table {
display: table;
background: #efefef;
}
div.cell {
display: table-cell;
}
#c1 div.content {
width: 200px;
}
#c2 {
border-left: 2px solid #ccc;
}
#c2 div.content {
height: 150px;
width: 150px;
background: #aaa;
vertical-align: bottom;
}
#c3 {
width: 200px;
border-left: 2px solid #ccc;
}
</style>
</head>
<body>
<div id="table">
<form id="c1" class="cell">
<div class="content">
Lorem ipsum dolor sit amet, consectetur adipisicing
elit, sed do eiusmod tempor incididunt ut.
</div>
</form>
<div id="c2" class="cell">
<div class="content">
<!-- -->
</div>
</div>
<div id="c3" class="cell">
<div class="content">
Dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut
aliquip ex ea commodo consequat. Duis aute irure
dolor in reprehenderit.
</div>
</div>
</div>
</body>
</html>
【问题讨论】: