Tabellenformatierung mit CSS
Hallo NG
leider nochmals eine CSS-Frage. Ich habe 2 Tabellen auf einer Page. 2
CSS-Stylesheets mit Link eingebunden. Jede Tabelle für sich lässt sich
problemlos formatieren.
Aber beide gleichzeitig auf einer Page gibt Probleme. Ich habe jeder Tab
eine class="tab1", class="tab2" zugeordnet. Das reicht scheinbar nicht. Man
muss jeder <td> die class ebenfalls zuordnen und im stylesheet td.tab1, resp.
td.tab2 def. u.s.w. Bei grossen HTML-Tabellen absolut tödlich.
Man könnte alle <td> zwischen <tbody> und </tbody> platzieren und so
formatieren. Da FP standardmässig kein <thead>, <tbody>, <tfoot> verwendet,
wäre viel Handarbeit angesagt.
Hat jemand eine elegantere Lösung?
PS: die Tabellen existieren bereits, sind sehr gross, unübersichtlich und
mit FP2003 erstellt.
Besten Dank und mit freundlichen Grüssen
Erich
Re: Tabellenformatierung mit CSS
Hallo,
Erich Gysel <ErichGysel [at] discussions.microsoft.com> schrieb:
> leider nochmals eine CSS-Frage. Ich habe 2 Tabellen auf einer Page. 2
> CSS-Stylesheets mit Link eingebunden. Jede Tabelle für sich lässt sich
> problemlos formatieren.
Hast du mal ein Beispiel?
> Aber beide gleichzeitig auf einer Page gibt Probleme. Ich habe jeder Tab
> eine class="tab1", class="tab2" zugeordnet. Das reicht scheinbar nicht.
> Man muss jeder <td> die class ebenfalls zuordnen und im stylesheet
> td.tab1, resp. td.tab2 def. u.s.w. Bei grossen HTML-Tabellen absolut
> tödlich.
Ich verstehe dein Problem nicht so ganz. Was genau klappt denn nun
nicht? Und was willst du erreichen? Ohne eine konkrete Beispielseite
kann man da IMHO keine sinnvollen Tipps geben.
Ganz allgemein klingt dein Posting so, als solltest du dich noch mal
etwas näher mit der Kaskade bei CSS auseinandersetzen. Wenn du zwei
Tabellen hast in denen du einzelne Elemente unterschiedlich formatieren
willst, dann kannst du das z.B. so erreichen:
td {
/* Das gilt für alle Tabellenzellen ... */
}
table.tab1 td {
/* Das gilt für alle <td> in der Tabelle mit der Klasse .tab1 ... */
}
table.tab2 td {
/* Das gilt für alle <td> in der Tabelle mit der Klasse .tab2 ... */
}
Die letzteren Einträge sind aber spezifischer und haben im Konfliktfall
Vorrang. Detailliert findest du das z.B. in deutscher Übersetzung unter
<http://edition-w3c.de/TR/1998/REC-CSS2-19980512/kap06.html>.
Gruß,
Dominik.
Re: Tabellenformatierung mit CSS
Hallo Dominik
""Dominik Schlütter"" schrieb:
> Ganz allgemein klingt dein Posting so, als solltest du dich noch mal
> etwas näher mit der Kaskade bei CSS auseinandersetzen. Wenn du zwei
> Tabellen hast in denen du einzelne Elemente unterschiedlich formatieren
> willst, dann kannst du das z.B. so erreichen: ............
Danke Dominik dein Beispiel und der Artikel haben mich ein grosses Stück
weiter gebracht. Nur das Problem mit den alternierenden Zeilen - even , odd -
habe ich noch nicht gelöst, ohne jede einzelne Zeile als "even" oder "odd" zu
qualifizieren.
Herzlichen Gruss
Erich
Re: Tabellenformatierung mit CSS
Hallo,
Erich Gysel <ErichGysel [at] discussions.microsoft.com> schrieb:
> Danke Dominik dein Beispiel und der Artikel haben mich ein grosses Stück
> weiter gebracht.
Das freut mich zu hören :-).
> Nur das Problem mit den alternierenden Zeilen - even , odd - habe ich noch
> nicht gelöst, ohne jede einzelne Zeile als "even" oder "odd" zu
> qualifizieren.
Nein, das wirst du mit reinem CSS momentan auch nicht lösen können. Wenn
es um umfangreiche Tabellen geht, kann man zumeist mit serverseitigen
Scriptsprachen das Ganze vorbereiten (und eben auch die Klassen für die
<tr> dort verteilen lassen). Es gibt JavaScript-Lösungen dafür, aber das
halte ich für wenig hilfreich bzw. praktikabel.
Gruß,
Dominik.