我有一个table
我不想设置padding
&/或margin
在每个td
单元格之间应用一些间距,第一个答案是使用CellSpacing
和/或CellPadding
属性table
但是当我使用这些属性时,它们会在每一侧应用空间(即顶部、底部、左侧和右侧)但我只想在顶部和底部应用空间。
我的问题有什么解决办法吗?
我有一个table
我不想设置padding
&/或margin
在每个td
单元格之间应用一些间距,第一个答案是使用CellSpacing
和/或CellPadding
属性table
但是当我使用这些属性时,它们会在每一侧应用空间(即顶部、底部、左侧和右侧)但我只想在顶部和底部应用空间。
我的问题有什么解决办法吗?
使用空行作为间距
请参阅下面的示例
<table class="style1">
<tr style="height: 20px;">
<td>
sfgefgfeg</td>
<td>
&sfgefgfeg;</td>
<td>
&sfgefgfeg;</td>
</tr>
<tr style="height: 5px;" >
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr style="height: 20px;">
<td>
&sfgefgfeg;</td>
<td>
&sfgefgfeg;</td>
<td>
&sfgefgfeg;</td>
</tr>
<tr style="height: 20px;">
<td>
&sfgefgfeg;</td>
<td>
&sfgefgfeg;</td>
<td>
&sfgefgfeg;</td>
</tr>
</table>
这里添加了高度为 5px 的行作为间距。
您可以在 TD 元素上使用border-top 和border-bottom 并使边框的颜色与页面的背景颜色相同。
您始终可以使用padding
with<td>
在表格单元格的顶部和底部留出空间。
要在表格行之间添加间距,请设置<tr>
为block
元素,然后您可以margin
在其上使用属性。
在此处查看演示http://codepen.io/pen/10248/2
编辑:
更新为包含行之间的间距。
在单元格之间创建间距的替代方法(如果单元格有边框,则间距出现在边框之间)是在 HTMLcellspacing
中的元素上使用属性并在 CSS 中使用属性。前者受到问题中提到的不灵活的影响。后者对浏览器的支持有限。您可以同时使用这两种方式,以便较旧的浏览器使用简单的 HTML 间距,而较新的浏览器则使用 CSS 方式。table
border-spacing
下面的示例设置了 0.5em 的垂直间距(即行间)和较小的 0.1em 水平间距(即列间)。
table { border-spacing: 0.1em 0.3em; }
(顺序与 CSS 属性值中的通常顺序不同:这里先是水平,然后是垂直,而在边距:0.1em 0.3m 中则应用相反的顺序。)
您可以通过添加来模拟间距border-bottom: 3px solid #fff
(根据需要更改颜色,顶部相同)