【发布时间】:2016-10-22 07:54:16
【问题描述】:
所以,我正在尝试创建以下网格/表格布局:
.grid-column {
display: table-cell;
height: 100%;
min-height: 100%;
}
.grid-column .grid-column-content {} .wireframe {
border-color: black;
border-width: 1px;
border-style: solid;
}
.red {
background-color: red;
}
.green {
background-color: green;
}
.blue {
background-color: blue;
}
<div class="wireframe" style="display: inline-block;">
<div class="grid-column red">
<div class="grid-column-content" style="margin: 5px;">
<span>Some content</span>
<br/>
<span>More content</span>
<br/>
<span>Some more content</span>
<br/>
<span>Even more content!!!</span>
</div>
</div>
<div class="grid-column green" style="min-width: 300px;">
<div class="grid-column-content blue" style="margin: 5px;">
Hi
</div>
</div>
</div>
本质上,是两个(或更多)divs 设置为显示为table-cell。
div(s) 内部可以是任何类型的内容。
例子:左边的div包含的内容较多,负责容器div的height。右边的div 的内容较少,不会填满整个height。即使将height 设置为100% 以获取正确的内容,它仍然无法填充。
它应该如下所示:
我通过使用absolute定位实现了上面的样子,但是使用absolute定位,内容被从布局系统中取出,如果它变成更大的内容,它不会调整父级的大小。
所以我不能:
- 使用绝对定位
- 设置'table' div的高度(示例中为顶级div)
- 在任何地方设置任何类型的固定高度!
- 使用 CSS3 Flexbox(必须与早期浏览器兼容)
为什么在 CSS 中这么难做到?这就像布局 101。
有人知道解决方案吗?感谢阅读。
【问题讨论】:
标签: html css html-table css-tables