我只是偶然发现了一个使用table-cell
css 属性的布局的非常奇怪的行为。我在当前的 FF、Safari 和 Chrome 中尝试了以下代码。行为在任何地方都是相同的。
我的问题是是否有人知道为什么会发生这种情况。它是浏览器错误还是定义的行为?我发现这个问题暗示了如何解决这个问题,但我想知道为什么会发生这种情况。我想其他人也想知道。
问题:如果我在
第二个表格单元格中评论,一切都很好。但是,如果div保持为空,则其他两个单元格的内容类似于“偏移顶部”。此偏移量与中间单元格的高度具有相同的尺寸。即外部单元格的内容被移到底部。我添加了两个截图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>