3. Spalte einer Tabelle ausblenden
Michi
- css
Hallo,
ich hab mal wieder eine Frage - ich hoffe sie ist nicht zu dämlich:
Ich will in einer Tabelle die dritte Spalte ausblenden und dabei den Platz, den sie belegen würde, freigeben.
In einer colgroup lässt sich die Spalte mit style="visibility: collapse;"
zwar ausblenden, dann bleibt jedoch ein weiße Rand übrig. Und style="visibility: hidden;"
darf in einer colgroup ja anscheinend nicht verwendet werden.
Und im HTML-Kopf kann ich es nicht definieren, da es kein :third-child
(in Analogie zu :first-child
) gibt.
Wie kann ich dennoch die Spalte ausblenden, ohne jeder einzelnen Zelle (einige hundert) etwas anhängen zu müssen?
Grüße,
Michi
Ist die Eigenschaft "display:hidden;" erlaubt bei Tables?
Der Platz würde dann nicht reserviert werden.
Hi,
Ist die Eigenschaft "display:hidden;" erlaubt bei Tables?
Der Platz würde dann nicht reserviert werden.
Es muss display:none heißen.
Ob das aber auch bei colgroups geht weiß ich nicht. Bei einzelnen Zellen geht es aber.
mfG,
steckl
Es muss display:none heißen.
Ob das aber auch bei colgroups geht weiß ich nicht. Bei einzelnen Zellen geht es aber.
Wohl nicht:
http://www.w3.org/TR/CSS21/tables.html#columns
Michi
Hi,
Es muss display:none heißen.
Ob das aber auch bei colgroups geht weiß ich nicht. Bei einzelnen Zellen geht es aber.
Wohl nicht:
http://www.w3.org/TR/CSS21/tables.html#columns
Vielleicht hilft dir noch dieser Thread weiter: IE zickt rum beim Ausblenden von Tabellenspalten.
mfG,
steckl
Vielleicht hilft dir noch dieser Thread weiter: IE zickt rum beim Ausblenden von Tabellenspalten.
Das scheint bei mir aber kein IE-Problem zu sein -- ich verwende schließlich Firefox 3...
Michi
Hi,
Vielleicht hilft dir noch dieser Thread weiter: IE zickt rum beim Ausblenden von Tabellenspalten.
Das scheint bei mir aber kein IE-Problem zu sein -- ich verwende schließlich Firefox 3...
Ich habe den Code mal getestet im FF3 getestet und er lässt die einzelnen Tabellenspalten ausblenden, ohne dass die einzelnen TDs eine id/class haben.
War das nicht das was du wolltest?
Dass ein weißer Rand bleibt sehe ich auch nicht.
mfG,
steckl
War das nicht das was du wolltest?
Dass ein weißer Rand bleibt sehe ich auch nicht.
Nicht ganz. Hier mal mein Code (exemplarisch):
<table border="0" width="100%" >
<colgroup>
<col><col><col style="visibility: collapse;">
</colgroup>
<tr>
<td bgcolor="#FF0000">1</td><td bgcolor="#00FF00">2</td><td bgcolor="#0000FF">3</td>
</tr>
</table>
Durch das Kollaps, wird die 100% Width nicht auf die 1. beiden Spalten aufgeteilt, sondern es wird immer noch etwas für die dritte Spate reserviert. Was in meinem Fall stört.
Michi
PS: Entschuldigung, wenn ich mich undeutlich Ausgedrückt habe.
@@Michi:
<table border="0" width="100%" >
Warum verwendest du missbilligte HTML-Attribute für Darstellungsangaben, wenn du doch schon CSS einsetzst? Raus damit! Gib auch dies im Stylesheet an!
<col><col><col style="visibility: collapse;">
Inline-Styles sind auch böse[tm]. Gib besser alle Darstellungsangaben gesammelt im Stylesheet an!
<td bgcolor="#FF0000">1</td><td bgcolor="#00FF00">2</td><td bgcolor="#0000FF">3</td>
Siehe oben.
Live long and prosper,
Gunnar
Warum verwendest du missbilligte HTML-Attribute für Darstellungsangaben, wenn du doch schon CSS einsetzst? Raus damit! Gib auch dies im Stylesheet an!
Inline-Styles sind auch böse[tm]. Gib besser alle Darstellungsangaben gesammelt im Stylesheet an!
Das ändert aber auch nix - der "Rand" bleibt.
MfG,
Michi
Ist die Eigenschaft "display:hidden;" erlaubt bei Tables?
Der Platz würde dann nicht reserviert werden.
hidden ist nicht als Wert von display aufgeführt.
Du meinst wahrscheinlich:
display:none
mfg Beat
@@Michi:
In einer colgroup lässt sich die Spalte mit
style="visibility: collapse;"
zwar ausblenden, dann bleibt jedoch ein weiße Rand übrig.
Das Ausblenden von Spalten mit col {visibility: collapse}
scheint bei den Browserherstellern noch nicht angekommen zu sein: IE, Opera und Safari machen es gar nicht; Firefox macht es falsch: er stellt die Rahmen der Zellen ausgeblendeter Spalten dennoch dar. IE 7 zeigt die gewünschte Darstellung bei col {display: none}
, was aber auch nicht im Sinne des Erfinders ist.
Jaja Opera und Safari, sich rühmen, alle möglichen Acid-Tests zu bestehen, aber nicht einmal simples CSS 2.0 umsetzen!
Die dritte Spalte von
~~~html
<tr><th>foo</th><th>bar</th><th>bar</th><th>quz</th></tr>
<tr><td>foo</td><td>bar</td><td>bar</td><td>quz</td></tr>
lässt sich mit
~~~css
th:first-child+th+th {display: none}
td:first-child+td+td {display: none}
ausblenden; bzw. bei erster Spalte als Zeilenkopf
~~~html
<tr><th>foo</th><th>bar</th><th>bar</th><th>quz</th></tr>
<tr><th>foo</th><td>bar</td><td>bar</td><td>quz</td></tr>
mit
~~~css
th:first-child+th+th {display: none}
th+td+td {display: none}
Live long and prosper,
Gunnar
Und im HTML-Kopf kann ich es nicht definieren, da es kein
:third-child
(in Analogie zu:first-child
) gibt.
:nth-child der vollständigkeit halber ;) unterstützung dafür gibts aber praktisch noch keine