我有一个表格,我想为元素添加边距,这样我就可以有一个底部边框,不会填满整个表格列,元素不受影响。另一种看待这种情况的方法是使用边框折叠:分离和边框折叠:折叠不幸地不起作用。
我考虑过使用两个表作为标题,一个表示正文。还可以从table-cell以外的其他内容更改th元素的显示。两者都很讨厌,所以我正在寻找比存在更好的解决方案。
这是一个jsFiddle,如果你想快速发挥作用,就会得到一张带有一些css的表格。
以下是一些代码,主要来自于我尝试jsFiddle尝试实现我想做的事情。
HTML
<table>
<thead>
<tr>
<th>Month</th>
<th>Amount</th>
</tr>
</thead>
<tbody>
<tr>
<td>January</td>
<td>$100</td>
</tr>
<tr>
<td>February</td>
<td>$200</td>
</tr>
</tbody>
</table>
CSS
table
{
width:100%;
padding:2px;
border-collapse: collapse;
}
td
{
padding:2px;
}
th
{
border-bottom:2px solid gray;
padding: 0 2px 5px;
line-height: 15px;
margin: 0 10px 0 0;
}
编辑:希望这能说明我正在努力实现的目标
---------------------------------------------
|Month |Amount |Month |Amount | <--TH element
|-------- --------- -------- --------- | <--bottom border doesn't fill cell
|----------------------------------------------|
|Jan |$100 |Jan |$100 |
|----------------------------------------------|
|Feb |$200 |Feb |$200 |
|----------------------------------------------|
答案 0 :(得分:0)
您需要在我担心的td
和/或th
元素中添加边距,因为tr
不会接受它。
答案 1 :(得分:0)
如果我理解你,这就像你想要的那样:
th {
background-color: yellow;
}
th {
border-top: 4px solid gray;
border-bottom: 4px solid gray;
}
th:first-child {
border-left: 4px solid gray;
}
th + th + th + th, /* choose one of these selectors */
th:last-child {
border-right: 4px solid gray;
}
Pseudoelement fun: http://jsfiddle.net/VywK7/23/
th:after {
content: ' ';
display:block;
width: 50%;
background: red;
height: 4px;
margin-bottom: 4px;
}