У меня есть вопрос, как добиться представления, как показано ниже, используя только собственные элементы таблицы html.
В основном то, что я хотел бы сделать, это изменить интервал между границами тех td, которые подпадают под th с диапазоном, равным 4. Возможно ли это вообще?
table {
background-color: gray;
border-spacing: 0.5em;
}
td, th {
background-color: orange;
} <table>
<thead>
<tr>
<th>Th1</th>
<th colspan = "4">Th2</th>
<th>Th3</th>
</tr>
</thead>
<tbody>
<tr>
<td>Td</td>
<td>Td for th span 4</td>
<td>Td for th span 4</td>
<td>Td for th span 4</td>
<td>Td for th span 4</td>
<td>Td</td>
</tr>
</tbody>
</table>





Попробуйте вставить таблицу внутри таблицы
.table1 {
background-color: gray;
border-spacing: 0.5em;
}
td,
th {
background-color: orange;
}
.table2 {
background-color: gray;
border-spacing: 0.1em 0;
}
.holder {
background-color: grey;
padding:0;
}<table class='table1'>
<thead>
<tr>
<th>Th1</th>
<th colspan = "4">Th2</th>
<th>Th3</th>
</tr>
</thead>
<tbody>
<tr>
<td>Td</td>
<td colspan='4' class='holder'>
<table class='table2'>
<tr>
<td>Td for th span 4</td>
<td>Td for th span 4</td>
<td>Td for th span 4</td>
<td>Td for th span 4</td>
</tr>
</table>
</td>
<td>Td</td>
</tr>
</tbody>
</table>Вы можете имитировать это с помощью отступов и применить окраску только к содержимому:
table {
background-color: gray;
border-spacing: 0.3em 0.2em;
}
td,
th {
background: orange content-box;
}
th:nth-child(2) {
padding: 0 0.5em;
}
td:nth-child(2) {
padding-left: 0.5em;
}
td:nth-last-child(2) {
padding-right: 0.5em;
}<table>
<thead>
<tr>
<th>Th1</th>
<th colspan = "4">Th2</th>
<th>Th3</th>
</tr>
</thead>
<tbody>
<tr>
<td>Td</td>
<td>Td for th span 4</td>
<td>Td for th span 4</td>
<td>Td for th span 4</td>
<td>Td for th span 4</td>
<td>Td</td>
</tr>
</tbody>
</table>