表格中的列间距存在很大问题。
这是我想要得到的内容,仅在<td>
之间间隔:
不使用margin
,padding
或border
:
td {
padding-left: 7.5px;
padding-right: 7.5px;
}
td:first-child {
padding-left: 0;
}
td:last-child {
padding-right: 0;
}
&#13;
<td></td>
<td></td>
<td></td>
<td></td>
&#13;
不使用border-spacing
:
如果使用first-child
和last-child
,则问题与之前的图片相同。
我找到的解决方案,但真的很脏:
.spacer {
width: 15px;
height: 15px;
}
&#13;
<td></td>
<div id="spacer"></div>
<td></td>
<div id="spacer"></div>
<td></td>
<div id="spacer"></div>
<td></td>
&#13;
答案 0 :(得分:2)
border-spacing: 15px 0px
仅生成水平间距; margin: 0px -15px
设置为表格。然后,将overflow: hidden;
设置为div,以隐藏额外的左右间距。
td {
padding-left: 7.5px;
padding-right: 7.5px;
background-color: red;
height: 40px;
border: 1px solid green;
width: 25%;
}
td:first-child {
padding-left: 0;
}
td:last-child {
padding-right: 0;
}
table {
width: calc(100% + 30px);
table-layout: fixed;
border-spacing: 15px 0px;
background: green;
margin: 0px -15px;
}
.table-container {
overflow: hidden;
width: 400px;
margin: 0 auto;
}
<div class="table-container">
<table>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</div>
答案 1 :(得分:0)
改为使用<div>
和margin
。
.table {
width: 100%;
height: 500px;
}
.row {
width: 100%;
height: 100%;
}
.cell {
float: left; /* make the divs sit next to each other like cells */
background: red;
width: calc(25% - 12px); /* 4 cells so 25% but minus 12 because we have 3 x 15px margins divided by 4 cells which is 11.25 but decimals can cause issues in some browsers */
height: 100%;
margin-left: 15px;
}
.cell:first-child {
margin-left: 0;
}
<div class="table">
<div class="row">
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
<div class="cell"></div>
</div>
</div>
答案 2 :(得分:-1)
1)当您想要使用css时,必须使用表的标准结构。
更改:
<td></td>
<td></td>
<td></td>
<td></td>
要强>
<table>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
2)如果想要
TDs
添加border-spacing:30px 0px;
到表格之间的空格。
td {
padding-left: 7.5px;
padding-right: 7.5px;
background-color: orange;
}
td:first-child {
padding-left: 0;
}
td:last-child {
padding-right: 0;
}
table {
border-spacing:30px 0px;
}
<table>
<tr>
<td>TD1</td>
<td>TD2</td>
<td>TD3</td>
<td>TD4</td>
</tr>
</table>
答案 3 :(得分:-2)
尝试使用cellspacing
属性。
<table cellspacing="10">
<tr>
<th>Month</th>
<th>Savings</th>
</tr>
<tr>
<td>January</td>
<td>$100</td>
</tr>
</table>
&#13;