【发布时间】:2013-05-29 18:53:34
【问题描述】:
我正在尝试使用display:table-cell 创建两个高度相同的列,然后在前两列的顶部放置第三个高度相同的覆盖 div 以隐藏它们。两个相同高度的柱子起作用。但我不知道如何使第三个 div 与前两个高度相同,并且在它们之上。
目标:
- 第 1 列和第 2 列的高度必须始终相同。高度 不能显式设置,它们都必须取任何一个的高度 根据列的内容,列更高。
- 封面必须与其所覆盖的行的高度和宽度完全相同,而不是明确设置。
- 我正在寻找不使用 JavaScript 的解决方案。
请看下面的小提琴:http://jsfiddle.net/rEAYb/1/
HTML
Some filler content that should not be covered.
<div class="Table">
<div class="Row">
<div class="Cell Left">
Left<br/>
sdfgsdfg<br/>
sdfgsd<br/>
fgsdfg<br/>
sdfg<br/>
dsfgsdfg<br/>
sdfgsdfgdsfg<br/>
</div>
<div class="Cell Right">Right</div>
<div class="Cell Cover"> </div>
</div>
</div>
Some filler content that should not be covered.
CSS
.Table{
display:table;
}
.Row{
display: table-row;
position:relative;
}
div.Cell{
padding:18px;
padding-bottom:60px;
padding-top:40px;
width:480px;
display: table-cell;
}
div.Cover{
background:#444;
opacity:.5;
position:absolute;
top:0px;
left:0px;
}
div.Left{
background:green;
}
div.Right{
background:blue;
}
【问题讨论】:
-
这个问题可能很有趣,它使用 Flexbox 来实现同样的事情:stackoverflow.com/q/16109687/1652962