Zum Inhalt springen

Tabelle: Abwechselne Zeilenfarbe mit CSS


pc-nico

Empfohlene Beiträge

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???

Link zu diesem Kommentar
Auf anderen Seiten teilen

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>";

  }

?>

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...