У меня есть следующая таблица с вложенными таблицами. Почему свойство свертывания границы не работает для моей таблицы HTML.
Я добавил свойство border-collapse как в основную таблицу, так и во вложенные таблицы. Я вижу только внешние границы и никаких внутренних границ.
<table style = "border-collapse: collapse;">
<tr>
<th>Existing data</th>
<th>New table</th>
</tr>
<tr>
<td>
<!-- Nested Table 1 -->
<table style = "border-collapse: collapse;">
<tr>
<th>Hostname</th>
<th>IP</th>
<th>MAC</th>
</tr>
<tr>
<td>ftp01</td>
<td>10.1.1.4</td>
<td>...01</td>
</tr>
<tr>
<td>www01</td>
<td>10.1.1.5</td>
<td>...02</td>
</tr>
</table>
</td>
<td>
<!-- Nested Table 2 -->
<table style = "border-collapse: collapse;">
<tr>
<th>IP</th>
<th>MAC</th>
<th>Owner</th>
</tr>
<tr>
<td>10.1.1.4</td>
<td>...bb</td>
<td>alice</td>
</tr>
<tr>
<td>10.1.1.6</td>
<td>...cc</td>
<td>bob</td>
</tr>
<tr>
<td>10.1.1.7</td>
<td>...dd</td>
<td>chris</td>
</tr>
<tr>
<td>10.1.1.4</td>
<td>...ee</td>
<td>doug</td>
</tr>
</table>
</td>
</tr>
</table>






Просто уделите немного внимания внешним ячейкам, содержащим эти вложенные таблицы. Добавьте немного стиля с помощью style="border: 1px сплошной черный;" на этих элементах вы увидите, что эти внутренние границы снова появятся в поле зрения, даже если border-collapse: коллапс; делает свое дело. Посмотрите HTML ниже:
<table style = "border-collapse: collapse;">
<tr>
<th>Existing data</th>
<th>New table</th>
</tr>
<tr>
<td style = "border: 1px solid black;">
<!-- Nested Table 1 -->
<table style = "border-collapse: collapse;">
<!-- Table content -->
</table>
</td>
<td style = "border: 1px solid black;">
<!-- Nested Table 2 -->
<table style = "border-collapse: collapse;">
<!-- Table content -->
</table>
</td>
</tr>
</table>
Я думаю, вы хотите сделать просто это:
<table border = "1" style = "border-collapse: collapse;">
В этом фрагменте кода отображается таблица с границами вокруг каждой ячейки, свернутая в отдельные строки.
Альтернатива:
table {
border-collapse: collapse;
}
th, td {
border: 1px solid black; /* Border for cells */
}
Используя ваш код, я вообще не вижу границ. Таблицы и ячейки таблиц по умолчанию не имеют границ; вам нужно добавить их, если вы хотите их. Это тот результат, которого вы добиваетесь?
table {
border-collapse: collapse;
}
td {
border: 1px solid black;
padding: 5px 10px;
}<table>
<tr>
<th>Existing data</th>
<th>New table</th>
</tr>
<tr>
<td>
<!-- Nested Table 1 -->
<table>
<tr>
<th>Hostname</th>
<th>IP</th>
<th>MAC</th>
</tr>
<tr>
<td>ftp01</td>
<td>10.1.1.4</td>
<td>...01</td>
</tr>
<tr>
<td>www01</td>
<td>10.1.1.5</td>
<td>...02</td>
</tr>
</table>
</td>
<td>
<!-- Nested Table 2 -->
<table>
<tr>
<th>IP</th>
<th>MAC</th>
<th>Owner</th>
</tr>
<tr>
<td>10.1.1.4</td>
<td>...bb</td>
<td>alice</td>
</tr>
<tr>
<td>10.1.1.6</td>
<td>...cc</td>
<td>bob</td>
</tr>
<tr>
<td>10.1.1.7</td>
<td>...dd</td>
<td>chris</td>
</tr>
<tr>
<td>10.1.1.4</td>
<td>...ee</td>
<td>doug</td>
</tr>
</table>
</td>
</tr>
</table>