【发布时间】:2015-07-23 06:47:30
【问题描述】:
我想在 div 中创建对齐的元素。它有效,但元素之间的空间不同。我希望它看起来像一张桌子。内部 div 需要变量填充之类的东西。
我不知道也无法计算元素的宽度,因此我无法对其进行样式修复或将它们放入表格中。
我创建了一个jsfiddle。
表格
<table cellspacing="5">
<tr>
<td>short content</td>
<td>bit longer content</td>
<td>content</td>
<td>this is a very long content</td>
<td>short content</td>
<td>content</td>
</tr>
</table>
<table cellspacing="5">
<tr>
<td>short content</td>
<td>this is a very long content</td>
<td>short content</td>
<td>content</td>
<td>this is a very long content</td>
<td>short content</td>
</tr>
</table>
DIV
<div class="elem">
<div>content</div>
<div>bit longer content</div>
<div>short content</div>
<div>this is a very long content</div>
<div>short content</div>
<div>content</div>
<div>short content</div>
<div>this is a very long content</div>
<div>short content</div>
<div>content</div>
<div>this is a very long content</div>
<div>short content</div>
<div>content</div>
</div>
CSS
table{
width: 100%;
}
td{
background-color: #ccc;
text-align: center;
padding: 5px;
}
.elem{
text-align: justify;
width: 100%;
}
.elem div{
display: inline-block;
margin: 5px;
padding: 5px;
background-color: #ccc;
text-align: center;
}
【问题讨论】:
-
你为什么不用桌面显示(
display: table)? -
因为当我将
table用于容器和inside-block用于儿童时,我没有得到合理的效果。与table和table-cell一起,孩子们都在一条线上。 -
您可以将
table-cell元素包装在table-row元素中。
标签: html css html-table padding justify