【发布时间】:2012-08-31 18:46:54
【问题描述】:
我正在尝试使用 css3 flexbox 模块,以使表格列可以拉伸,但仍具有默认宽度,以及最小宽度和最大宽度。
当视口足够宽以容纳每列的最小宽度时,这很有效,但是当视口缩小时,所有列都会折叠。有什么好的方法可以确保始终为 flexbox 维护最小宽度/宽度,或者有没有其他方法可以让表格列“灵活”。到目前为止,我只用 Chrome 21 对此进行了测试。
CSS:
#test, #test > thead, #test > tbody {
display: block;
width: 100%;
}
#test tr {
display : -webkit-flex;
}
#test tr > td, #test tr > th {
-webkit-flex-direction: row;
}
.col1 {
width: 35px;
}
.col2 {
-webkit-flex: 1 200px;
width: 120px;
max-width: 2000px;
}
.col3 {
-webkit-flex: 1 150px;
width: 80px;
max-width: 2000px;
}
.col4, .col5 {
width: 70px;
}
.col6 {
width: 75px;
}
.col7 {
-webkit-flex: 1 100px;
width: 100px;
max-width: 2000px;
}
.col8 {
width: 55px;
}
.col9 {
-webkit-flex: 1 100px;
width: 60px;
max-width: 100px;
}
.col10 {
width: 80px;
}
HTML:
<table id="test">
<thead>
<tr>
<th class="col1">col1</th>
<th class="col2">col2</th>
<th class="col3">col3</th>
<th class="col4">col4</th>
<th class="col5">col5</th>
<th class="col6">col6</th>
<th class="col7">col7</th>
<th class="col8">col8</th>
<th class="col9">col9</th>
<th class="col10">col10</th>
</tr>
</thead>
<tbody>
<tr>
<td class="col1">col1</td>
<td class="col2">col2</td>
<td class="col3">col3</td>
<td class="col4">col4</td>
<td class="col5">col5</td>
<td class="col6">col6</td>
<td class="col7">col7</td>
<td class="col8">col8</td>
<td class="col9">col9</td>
<td class="col10">col10</td>
</tr>
</tbody>
</table>
【问题讨论】: