Próbuję zaprojektować HTML / CSS, który może umieścić obramowanie wokół określonych wierszy w tabeli. Tak, wiem, że tak naprawdę nie powinienem używać tabel do układu, ale nie znam wystarczającej liczby CSS, aby go całkowicie zastąpić.
W każdym razie mam tabelę z wieloma wierszami i kolumnami, niektóre są połączone za pomocą rowspan i colspan, i chciałbym umieścić prostą ramkę wokół części tabeli. Obecnie używam 4 oddzielnych klas CSS (góra, dół, lewa, prawa), które dołączam do <td>
komórek znajdujących się odpowiednio na górze, na dole, po lewej i prawej stronie tabeli.
.top {
border-top: thin solid;
border-color: black;
}
.bottom {
border-bottom: thin solid;
border-color: black;
}
.left {
border-left: thin solid;
border-color: black;
}
.right {
border-right: thin solid;
border-color: black;
}
<html>
<body>
<table cellspacing="0">
<tr>
<td>no border</td>
<td>no border here either</td>
</tr>
<tr>
<td class="top left">one</td>
<td class="top right">two</td>
</tr>
<tr>
<td class="bottom left">three</td>
<td class="bottom right">four</td>
</tr>
<tr>
<td colspan="2">once again no borders</td>
</tr>
<tr>
<td class="top bottom left right" colspan="2">hello</td>
</tr>
<tr>
<td colspan="2">world</td>
</tr>
</table>
</html>
Czy jest łatwiejszy sposób na zrobienie tego, co chcę? Próbowałem zastosować górę i dół do a, <tr>
ale to nie zadziałało. (ps Jestem nowy w CSS, więc prawdopodobnie istnieje naprawdę podstawowe rozwiązanie tego problemu, które przegapiłem).
Uwaga: muszę mieć wiele sekcji graniczących. Podstawowym pomysłem jest posiadanie wielu graniczących klastrów, z których każdy zawiera wiele wierszy.