我试图让我的div像一张桌子,所以我可以堆叠我的"列"相互依赖,以获得良好的移动体验,但出于某种原因,我的桌子不会伸展到100%并均匀分布。
现场演示:
http://jsfiddle.net/7sqkgfuh/3/
这是HTML:
<div class="rds-table-stacked">
<div class="rds-column">
<div class="rds-table-header">Header One</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
</div>
<div class="rds-column">
<div class="rds-table-header">Header Two</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
</div>
<div class="rds-column">
<div class="rds-table-header">Header Four</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
</div>
<div class="rds-column">
<div class="rds-table-header">Header Five</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
<div class="rds-cell">Cell Item</div>
</div>
</div>
CSS:
.rds-table-stacked {
width:100%;
border-bottom:3px blue solid;
display: table;
}
.rds-column {
float:left;
width:auto;
display:table-cell;
}
.rds-column > div {
padding: 6px 12px 8px 12px;
border-bottom:1px #d1d2d1 solid;
width:100%;
}
.rds-column > div:nth-of-type(even){
background: green;
}
.rds-cell {
float:left;
clear:both;
display: table-cell;
}
@media (max-width: 500px) {
.rds-column {
clear:both;
width:100%;
}
}
.rds-table-header {
background:blue;
color:white;
}
答案 0 :(得分:1)
从float: left
移除.rds-column
:
.rds-column {
/* float: left */
display: table-cell;
}
我还建议将table-layout: fixed
添加到.rds-table-stacked
元素,然后将box-sizing: border-box
添加到带填充的元素中,以便在宽度/高度计算中包含填充。这样做,一切都将累加到100%
。