Ich versuche herauszufinden, wie man einen Rand nur innerhalb der Tabelle hinzufügt. Wenn ich es tue:
table {
border: 0;
}
table td, table th {
border: 1px solid black;
}
Der Rand befindet sich um die gesamte Tabelle und auch zwischen Tabellenzellen. Was ich erreichen möchte, ist, nur innerhalb der Tabelle einen Rand um Tabellenzellen zu haben (ohne äußeren Rand um die Tabelle).
Hier ist das Markup, das ich für Tabellen verwende (obwohl ich denke, dass das nicht wichtig ist):
<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>
Und hier sind einige grundlegende Stile, die ich auf die meisten meiner Tabellen anwende:
table {
border-collapse: collapse;
border-spacing: 0;
}
html
css
html-table
border
Richard Knop
quelle
quelle
Antworten:
Wenn Sie das tun, was Sie meiner Meinung nach versuchen, brauchen Sie etwas Ähnliches:
jsFiddle Demo
Das Problem ist, dass Sie einen "vollständigen Rand" um alle Zellen setzen, wodurch es so aussieht, als hätten Sie einen Rand um die gesamte Tabelle.
Prost.
BEARBEITEN: Ein wenig mehr Informationen zu diesen Pseudoklassen finden Sie im Quirksmode , und wie zu erwarten, sind Sie in Bezug auf die IE-Unterstützung ziemlich SOL.
quelle
das funktioniert bei mir:
Beispiel anzeigen ...
In FF 3.6 und Chromium 5.0 getestet, bietet IE keine Unterstützung. von W3C :
quelle
Beispiel für eine sehr einfache Möglichkeit, den gewünschten Effekt zu erzielen:
quelle
frame
undrules
sind ALTE (nicht HTML5)table
Attribute (Sie sollten stattdessen CSS verwenden).frame
sagt, welche Teile der äußeren Tabellenränder sichtbar sein sollen -void
bedeutet, alle äußeren Ränder auszublenden ...rules
sagt, welche Teile der inneren Tabellenränder sichtbar sein sollen -all
bedeutet alle ... offensichtlich ... Bitte verwenden Sie dies nicht, es sei denn, Sie sind HTML3-Fanatiker ... :)Aufgrund der Mantain-Kompatibilität mit ie7, ie8 empfehle ich, dazu das erste und nicht das letzte Kind zu verwenden:
Weitere Informationen zu CSS 2.1-Pseudoklassen finden Sie unter: http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx
quelle
Für gewöhnliches Tabellen-Markup ist hier eine kurze Lösung, die auf allen Geräten / Browsern in BrowserStack mit Ausnahme von IE 7 und darunter funktioniert:
Fügen Sie für die IE 7-Unterstützung Folgendes hinzu:
Ein Testfall ist hier zu sehen: http://codepen.io/dalgard/pen/wmcdE
quelle
das sollte funktionieren:
bearbeiten:
Ich habe es gerade versucht, keine Tabellenkante. aber wenn ich einen Tabellenrand setze, wird er durch den Randkollaps beseitigt.
Dies ist die Testdatei:
quelle
das wird alles ohne CSS tun
<TABLE BORDER=1 RULES=ALL FRAME=VOID>
Code von: HTML CODE TUTORIAL
quelle
Fügen Sie den Rand zu jeder Zelle folgendermaßen hinzu:
Entfernen Sie den oberen Rand von allen Zellen in der ersten Zeile:
Entfernen Sie den linken Rand aus den Zellen in der ersten Spalte:
Entfernen Sie den rechten Rand aus den Zellen in der letzten Spalte:
Entfernen Sie den unteren Rand aus den Zellen in der letzten Zeile:
http://jsfiddle.net/hzru0ytx/
quelle
Funktioniert für jede Kombination von tbody / thead / tfoot und td / th
quelle