我要的是我得到的这张桌子上的每一行都有带圆角边框的背景色。我遇到的问题是,由于表格已折叠,我需要在页面底部添加边距。所以表格看起来像这样
<table>
<tr>
<td>stuff</td>
<td>stuff2</td>
<td>stuff3</td>
</tr>
</table>
然后有很多这样的行,对于每一行,我都希望有一个带有圆角边框的特定背景,到目前为止,我已经做到了。使用
.colored-row td:first-child {
border-top-left-radius: 1px;
}
.colored-row td:last-child {
border-top-right-radius: 1px;
}
.colored-row td:first-child {
border-bottom-left-radius: 1px;
}
.colored-row td:last-child {
border-bottom-right-radius: 1px;
}
.colored-row {
background: #374F60;
}
此后出现问题,因为我也希望在每行之间都有一个边距,并且我尝试通过在内部添加边距来进行处理,因为这没有什么区别,但是在颜色上只是随着边距不断扩大,如果我把颜色也会在应用颜色的地方之间留出一些空间。
所以我希望它在整个行中都有这样的边距。有什么办法吗?
答案 0 :(得分:0)
您不能将margins
添加到tr
元素中。唯一可行的方法是在display:block
上使用tr
。但这会导致tr
的宽度根据其内容而不是表格的宽度。
一种解决方法是(如果可以编辑HTML的话)在彩色行之间添加separator
行,并为其指定高度。
.colored-row td:first-child {
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
}
.colored-row td:last-child {
border-bottom-right-radius: 5px;
border-top-right-radius: 5px;
}
.colored-row {
background: #374F60;
}
.separator {
height: 10px;
}
table {
border-collapse: collapse;
width:100%;
}
<table>
<tr class="colored-row">
<td>stuff</td>
<td>stuff2</td>
<td>stuff3</td>
</tr>
<tr class="separator"></tr>
<tr class="colored-row">
<td>stuff</td>
<td>stuff2</td>
<td>stuff3</td>
</tr>
</table>
编辑:或者,您可以使用border-spacing
,但仅在border-collapse
设置为separate
时有效。但这也会在第一行中添加一个“顶部空间”
.colored-row td:first-child {
border-top-left-radius: 5px;
border-bottom-left-radius: 5px;
}
.colored-row td:last-child {
border-bottom-right-radius: 5px;
border-top-right-radius: 5px;
}
.colored-row {
background: #374F60;
}
table {
border-collapse: separate;
border-spacing: 0 15px;
width:100%;
}
<table>
<tr class="colored-row">
<td>stuff</td>
<td>stuff2</td>
<td>stuff3</td>
</tr>
<tr class="colored-row">
<td>stuff</td>
<td>stuff2</td>
<td>stuff3</td>
</tr>
</table>