【发布时间】:2015-05-05 20:34:38
【问题描述】:
我正在尝试获取列中元素的一些信息(示例中为一、二、三、四)。该元素具有子元素(在示例中为五、六、七、八)。我试图让子元素是父 table_div 的 95% 宽度,但是,它是父 table_div 第一列的 95% 宽度。
目标是在缩进方面看起来像 Reddit 评论布局。如何使该子元素与父元素的宽度相同,而不是与第一列的宽度相同?
HTML:
<div class='table_div root'>
<div class='table_row'>
<span class='table_cell'>one</span>
<span class='table_cell'>two</span>
<span class='table_cell'>three</span>
<span class='table_cell'>four</span>
</div>
<div class='table_div child'>
<div class='table_row'>
<span class='table_cell'>five</span>
<span class='table_cell'>six</span>
<span class='table_cell'>seven</span>
<span class='table_cell'>eight</span>
</div>
</div>
</div>
CSS:
.table_div {
display: table;
width:100%;
}
.table_row {
display: table-row;
width: 100%;
}
.table_cell {
display: table-cell;
}
.root {
width: 100%;
}
.child {
width: 95%;
margin-left: 5%;
}
【问题讨论】:
-
为什么不使用实际的 TABLE 标签而不是破解 DIV?
-
因为使用表格进行布局并不是很好的做法,而且其中一些表格单元格跨度可能会变成比文本更复杂的元素。
-
将 DIV 转换为表格单元格相当于同一件事:您正在使用表格进行布局。你真正需要的是 Flexbox。 html5rocks.com/en/tutorials/flexbox/quick
-
我愿意使用它,有我可以修改的表格示例作为概念证明吗?我想在尝试学习嵌套表之前确保它可以正常工作。
标签: html css nested width css-tables