Проблема в том, что в таблице tr
не нравится стилизация, поэтому вам нужно добавить border-radius
И background-color
в строку.
Также, поскольку у вас может быть N ячеек таблицы, мы будем использовать :first-child
и :last-child
только для изменения радиуса первого / последнего td
в каждой строке.
Разбить строку можно с помощью свойства border-spacing
в самой таблице.
Вот пример, соответствующий вашей иллюстрации.
table {
width: 500px;
margin: 20px;
border-collapse: separate;
border-spacing: 0 10px;
}
td {
padding: 5px;
text-align: center;
background-color: #eee;
}
td:first-child {
border-radius: 10px 0 0 10px;
}
td:last-child {
border-radius: 0 10px 10px 0;
}
<table cellpadding="0" cellspacing="0" border="0">
<thead>
<tr>
<th>Header</th>
<th>Header</th>
<th>Header</th>
<th>Header</th>
</tr>
</thead>
<tbody>
<tr>
<td>cell</td>
<td>cell</td>
<td>cell</td>
<td>cell</td>
</tr>
<tr>
<td>cell</td>
<td>cell</td>
<td>cell</td>
<td>cell</td>
</tr>
<tr>
<td>cell</td>
<td>cell</td>
<td>cell</td>
<td>cell</td>
</tr>
</tbody>
</table>