【发布时间】:2015-05-15 19:18:25
【问题描述】:
我可能遗漏了一些明显的东西,但我无法弄清楚。
我有一个占其容器宽度 100% 的表格。第一列和第三列具有设定的宽度。我希望第二列适合其内容(理想情况下具有最大宽度),第四列占用剩余空间。
第三个和第四个实际上是输入框,所以我不关心这个例子中的文本是否换行。 (我在这里使用了文字,因为它更容易看到发生了什么。根据本地测试,我认为这没有什么区别。)
小提琴:http://jsfiddle.net/vgrdLp32/
.table-container {
display: table;
table-layout: fixed;
width: 100%;
margin-top: 30px;
}
.table-row {
display: table-row;
}
.table-cell {
display: table-cell;
padding: 2px;
border-bottom: 2px solid rgba(255, 102, 102, .2);
}
.col1 {
width: 10px;
background-color: rgba(255, 51, 153, .2);
}
.col2 {
width: auto; /* ????? */
background-color: rgba(51, 102, 255, .2);
}
.col3 {
width: 135px;
background-color: rgba(153, 102, 255, .2);
}
.col4 {
background-color: rgba(204, 0, 204, .2);
}
* {
font-family: 'Ubuntu', Arial;
}
<link href="http://fonts.googleapis.com/css?family=Ubuntu:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css" >
<div class="table-container">
<div class="table-row">
<div class="table-cell col1"></div>
<div class="table-cell col2">plz autosize me!</div>
<div class="table-cell col3">i have a set width</div>
<div class="table-cell col4">make me take up the rest</div>
</div>
<div class="table-row">
<div class="table-cell col1"></div>
<div class="table-cell col2">i hope</div>
<div class="table-cell col3">that i will never</div>
<div class="table-cell col4">let you down</div>
</div>
<div class="table-row">
<div class="table-cell col1"></div>
<div class="table-cell col2">i know</div>
<div class="table-cell col3">that this</div>
<div class="table-cell col4">could be more than</div>
</div>
<div class="table-row">
<div class="table-cell col1"></div>
<div class="table-cell col2">just flashing</div>
<div class="table-cell col3">lights and sounds</div>
<div class="table-cell col4">can we pick you off the ground</div>
</div>
</div>
【问题讨论】:
-
如果你不支持 IE9 也能侥幸脱身,那么 flexbox 就是最好的选择。
标签: html css styling css-tables tablerow