Veröffentlicht 16. März 200520 j Hallo habe folgdendes Problem: Möchte in einer Tabelle die 1 3 5 7 ... Zeile z.b. in hellgrau haben und die Zeile 2 4 6 8 ... in dunkel grau zu zeit mache ich das so: <table> <tr> <td class="hell"></td> </tr> <tr> <td class="dunkel"></td> </tr> <tr> <td class="hell"></td> </tr> <tr> <td class="dunkel"></td> </tr> <tr> <td class="hell"></td> </tr> <tr> <td class="dunkel"></td> </tr> (Die Klassen sind dann halt irgendwo noch definert) Das bringt natürlich eine sehr hoch redundanz. Gibt es eine Möglichkeit mit CSS sowas nochmehr zu vereinfachen???
16. März 200520 j Gibt es eine Möglichkeit mit CSS sowas nochmehr zu vereinfachen??? AFAIK: Nein, gibt es leider nicht. Deshalb wird sowas in der Regel serverseitig bei der Generierung der Seite geregelt, beispielsweise: <?php for($i=0; $i < 10; $i++) { echo "<tr>"; echo "<td style=\"background-color: "; echo ($i % 2 == 0) ? "green" : "blue"; echo "\">"; echo "Text"; echo "</td>"; echo "</tr>"; } ?>
16. März 200520 j danke! ok, das habe ich mir schon gedacht.. Leider ist das nicht möglich, da es sich bei den Tabellen um statische HTML Seiten handelt.
16. März 200520 j naja wenn du z.b. öfters solche listen serverseitig zusammenbaust, könntest du auch eine einfache klasse schreiben: class Table { var $rows; //... function addRow($row_arr) { $this->rows[] = $row_arr; } function getHtmlCode() { $table = "<table>"; //html code der tabelle zusammenbauen //rows durchloopen und die arrays in rows auch durchloopen $table .= "</table>"; return $table; } function show() { echo $this->getHtmlCode(); } } Lässt sich natürlich noch beliebig erweitern
16. März 200520 j Gibt es eine Möglichkeit mit CSS sowas nochmehr zu vereinfachen??? Ja gibt es laut standard! http://www.w3.org/Style/Examples/007/evenodd.html Aber leider kann das nicht jeder Browser siehe: http://dean.edwards.name/IE7/compatibility/nth-child.html (mit IE anschauen!) table.even tr:nth-child(even) { background: green; } Gruß, Markus
16. März 200520 j Ja gibt es laut standard! http://www.w3.org/Style/Examples/007/evenodd.htmlDas sieht ja richtig interessant aus. Aber leider kann das nicht jeder BrowserNaja wenn ich da lese "introduced in November 2001" dann wird es wohl noch locker bis 2010 dauern, bis die meisten Browser soweit sind und damit umgehen können
16. März 200520 j Naja wenn ich da lese "introduced in November 2001" dann wird es wohl noch locker bis 2010 dauern, bis die meisten Browser soweit sind und damit umgehen können Naja ich schätze mal der FF kann das in der nächsten Version die im März kommt und der IE 10 wirds den CSS Std. 1.0 immer noch nicht richtig beherrschen...
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.