我有这段CSS代码:
#center{
display:table-row;
border:solid #55A 1px;
background-color:#AAF;
height:100%;
}
实际上,边框属性被忽略了。为什么?我该如何解决?
演示
感谢
div
元素,你可以让它假装成一个表格行 (tr
) 元素。 - David Thomastable-row
,因此它的行为就像一个表格行; - Ricardo Souza<div id="content">
<div id="top">TOP</div>
<div id="center">
<div>CENTER</div>
</div>
</div>
接着下面的CSS就可以生效:
#center{
display:table-row;
}
#center > div {
display: table-cell;
border:solid #55A 1px;
background-color:#AAF;
height:100%;
}
需要记住的是,浏览器会按照你的要求来渲染元素;所以如果你告诉一个 div
使用 display: table-row
,它就会以这种方式显示;而 table-row
没有 border
。但是 table-cell
有,这就是我添加子元素 div
并分配给它该 display
属性的原因。
CSS
#content{
display:table;
border:solid black 1px;
width:250px;
height:300px;
}
.center{
display:table-row;
}
.center > div {
display: table-cell;
border:solid #55A 1px;
background-color:#AAF;
}
#top{
border:solid red 1px;
}
HTML
<div id="content">
<div class="center" style="height:50px">
<div id="top">TOP</div>
</div>
<div class="center" style="height:100%">
<div>CENTER</div>
</div>
<div class="center" style="height:50px">
<div>BOTTOM</div>
</div>
</div>