Próbuję wymyślić, jak dodać obramowanie tylko wewnątrz tabeli. Kiedy robię:
table {
border: 0;
}
table td, table th {
border: 1px solid black;
}
Obramowanie znajduje się wokół całej tabeli, a także między komórkami tabeli. Chcę osiągnąć granicę tylko wewnątrz tabeli wokół komórek tabeli (bez zewnętrznej granicy wokół tabeli).
Oto znaczniki, których używam do tabel (choć myślę, że to nie jest ważne):
<table>
<tr>
<th>Heading 1</th>
<th>Heading 2</th>
</tr>
<tr>
<td>Cell (1,1)</td>
<td>Cell (1,2)</td>
</tr>
<tr>
<td>Cell (2,1)</td>
<td>Cell (2,2)</td>
</tr>
<tr>
<td>Cell (3,1)</td>
<td>Cell (3,2)</td>
</tr>
</table>
Oto kilka podstawowych stylów, które stosuję do większości moich stołów:
table {
border-collapse: collapse;
border-spacing: 0;
}
html
css
html-table
border
Richard Knop
źródło
źródło
Odpowiedzi:
Jeśli robisz to, co, jak sądzę, próbujesz zrobić, będziesz potrzebować czegoś więcej:
jsFiddle Demo
Problem polega na tym, że ustawiasz „pełną ramkę” wokół wszystkich komórek, co sprawia, że wydaje się, że masz ramkę wokół całej tabeli.
Twoje zdrowie.
EDYCJA: Trochę więcej informacji na temat tych pseudoklas można znaleźć w trybie quirksmode i, jak można się spodziewać, jesteś w dużej mierze SOL pod względem obsługi IE.
źródło
to działa dla mnie:
zobacz przykład ...
testowany w FF 3.6 i Chromium 5.0, IE nie ma wsparcia; z W3C :
źródło
Przykład bardzo prostego sposobu na osiągnięcie pożądanego efektu:
źródło
frame
irules
są atrybutami STARYMI (nie HTML5)table
(zamiast tego należy użyć CSS).frame
mówi, które części zewnętrznych granic stołu powinny być widoczne -void
oznacza ukryć wszystkie zewnętrzne granice stołu ...rules
mówi, które części wewnętrznych granic stołu powinny być widoczne -all
oznacza wszystkie ... oczywiście ... Nie używaj tego, chyba że są fanatykami HTML3 ... :)Ze względu na kompatybilność mantain z ie7, ie8 sugeruję używanie do tego pierwszego dziecka, a nie ostatniego dziecka:
Możesz dowiedzieć się o pseudoklasach CSS 2.1 na stronie: http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx
źródło
W przypadku zwykłego znaczników tabel, oto krótkie rozwiązanie, które działa na wszystkich urządzeniach / przeglądarkach BrowserStack, z wyjątkiem IE 7 i niższych:
Aby uzyskać obsługę IE 7, dodaj to:
Przypadek testowy można zobaczyć tutaj: http://codepen.io/dalgard/pen/wmcdE
źródło
to powinno działać:
edytować:
właśnie próbowałem, bez obramowania stołu. ale jeśli ustawię granicę tabeli, zostanie ona wyeliminowana przez zwinięcie granicy.
to jest plik testowy:
źródło
to wszystko zrobi bez css
<TABLE BORDER=1 RULES=ALL FRAME=VOID>
kod z: TUTORIAL KODU HTML
źródło
Dodaj ramkę do każdej komórki w ten sposób:
Usuń górną ramkę ze wszystkich komórek w pierwszym rzędzie:
Usuń lewą ramkę z komórek w pierwszej kolumnie:
Usuń prawą ramkę z komórek w ostatniej kolumnie:
Usuń dolną ramkę z komórek w ostatnim rzędzie:
http://jsfiddle.net/hzru0ytx/
źródło
Działa dla dowolnej kombinacji tbody / thead / tfoot i td / th
źródło