table表格设置border-radius不生效
经过研究发现是 border-collapse: collapse 和 border-radius 时不兼容导致的。
解决办法是:给表格加上边框,然后给 th、td 设置右边框,最后去掉 th、td 最右侧和最下面的边框,这样就模拟出想要的效果。
效果:
代码如下:
<style>
table {
width: 500px;
height: 200px;
border: 1px solid #ccc;
border-radius: 10px;
border-spacing: 0;
}
th, td {
text-align: center;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}
th:last-child, td:last-child {
border-right: 0;
}
/* 兼容有thead的情况 */
tr:last-child:not(:only-child) th, tr:last-child td{
border-bottom: 0;
}
table > :only-child th{
border-bottom: 0;
}
/* 兼容有thead的情况 */
</style>
<table>
<tr>
<th>123</th>
<th>123</th>
<th>123</th>
<th>123</th>
</tr>
<tr>
<td>123</td>
<td>123</td>
<td>123</td>
<td>123</td>
</tr>
<tr>
<td>123</td>
<td>123</td>
<td>123</td>
<td>123</td>
</tr>
</table>