【发布时间】:2014-06-24 16:18:29
【问题描述】:
我无法弄清楚为什么当 display:table-row 应用于 #header div 时 #container div 的高度正确计算为 200 像素,而当 display:table-caption 应用于#header div。
我已经在 Chrome 35 中对此进行了测试
有人知道为什么会这样和/或有简单的解决方法吗? (最好没有 javascript 或添加额外的 div)?
我希望#header div 的高度与它的内容一样小,它的宽度是#container div 的100%,并且#container 完全适合#main div。
jsfiddle:http://jsfiddle.net/2SKY4/
CSS:
#main {
width: 200px;
height: 200px;
background-color:#ff0;
}
#container {
background-color: #0f0;
width: 90%;
display:table;
height:100%;
}
#header {
background-color:#F0F;
display:table-caption;
}
#splitpanel {
display:table-row;
background-color:#0ff;
}
#leftpanel {
background-color: #f00;
overflow: scroll;
display: table-cell;
}
#rightpanel {
background: #00f;
overflow: scroll;
display: table-cell;
}
HTML:
<div id="main">
<div id="container">
<div id="header">Header</div>
<div id="splitpanel">
<div id="leftpanel"></div>
<div id="rightpanel"></div>
</div>
</div>
</div>
【问题讨论】:
标签: css