SohnDesMogh: kann man mit einer class die farben ändern auf grund des vorherigen aufrufs?

Moin,

ich möchte mit einem style meine tabelle so einfärben das die zeilen gekennzeichnet werden. derzeit mach ich das über zwei classes

.listenelemnt_1
{
background-color: #F0F0F0;
}
und
.listenelemnt_2
{
background-color: #0F0F0F;
}

die so eingesetzt werden

<table>
<tr>
<td class="listenelement_1">blubb</td>
</tr>
<tr>
<td class="listenelement_2">blubber</td>
</tr>
</table>

// es entsteht eine "gestreifte" tabelle

ist es nun möglich die CSS so zu verbiegen, das man nur eine class nutzen muss und diese selbstständig erkennt welche farbe sie vorher ausgeworfen hat?
es soll also das hier möglich werden, wobei das obig beschriebene erscheinungsbild erhalten bleibt

<table>
<tr>
<td class="new_listenelement">blubb</td>
</tr>
<tr>
<td class="new_listenelement">blubber</td>
</tr>
</table>

danke im vorraus hilfreiche statments

  1. Hallo,

    wie wäre es denn damit:

    Du gibst der ganzen Tabelle eine Hintergrundfarbe (1) und anschließend überschreibst du jede zweite Tabellenzeile über eine definierten Klasse
    mit der Hintergrundfarbe (2).

    mfg NAG

    --
    signatur
  2. Hallo,

    ist es nun möglich die CSS so zu verbiegen, das man nur eine class nutzen muss und diese selbstständig erkennt welche farbe sie vorher ausgeworfen hat?

    Automagisch geht das erst, wenn das derzeitig in der Entwicklung befindliche CSS 3, weitgehend in aktuellen Browsern implementiert ist. Bis  dahin tatsächlich nur, wenn man jede bzw. jede zweite Tabellenzelle entsprechend über Klassen auszeichnet.

    Tim

    1. Hallo Tim,

      Automagisch geht das erst, wenn das derzeitig in der Entwicklung befindliche CSS 3, weitgehend in aktuellen Browsern implementiert ist. Bis  dahin tatsächlich nur, wenn man jede bzw. jede zweite Tabellenzelle entsprechend über Klassen auszeichnet.

      Und das kann man ja automatisch mit JS machen, wie Jürgen das in einem anderen gerade aktuellen Thread demonstriert:

      https://forum.selfhtml.org/?t=105345&m=651179

      Statt style.backgroundColor könnte er natürlich auch className automatisch zuweisen.

      Gruß Gernot

  3. Hi,
    ich hattte gleiches "problem" und habe es folgendermasen gelöst:

      
    if (@$Zebra==null)  
    {  
      $Zebra = true;  
      $Farbcode = "Weis";  
    }  
    else  
    {  
      $Zebra = null;  
      $Farbcode = "Grau";  
    }  
    echo '<tr id="'.$Farbcode.'">';  
    
    
      
    tr#Grau { background-color: #DDDDDD }  
    tr#Weis  { background-color: #ffffff }  
    
    

    MfG

    1. NACHTRAG:
      ist mit PHP. könnte man aber auch so machen:

        
      <?  
      $Farbcode = "Grau";  
      ...  
      if ($Farbcode == "Weis")  
      {  
        $Farbcode = "Grau";  
      }  
      else  
      {  
        $Farbcode = "Weis";  
      }  
      echo '<tr id="'.$Farbcode.'">';  
      ...  
      ?>  
      
      

      MfG