Freddy: Spezielle Spalte formatieren

Hallo,
kann ich in CSS angeben, dass in einer Zeilendefinition
<tr><td>....</td>.........<td>.......</tr>
z.B. das 5. <td> eine eigene Formatierung erhält, z.B. "font-weight:bold"?
Gruß
Freddy

  1. Hi,

    kann ich in CSS angeben, dass in einer Zeilendefinition
    <tr><td>....</td>.........<td>.......</tr>
    z.B. das 5. <td> eine eigene Formatierung erhält, z.B. "font-weight:bold"?

    ja, es gibt die Pseudoklasse :nth-child - wie weit es da mit der Browserunterstützung in der Realität ist, kann ich aber nicht sagen. Wenn dir Kompatibilität wichtig ist, solltest du also auf andere Selektoren ausweichen, etwa eine speziell vergebene Klasse oder einen Attributselektor.

    Ciao,
     Martin

    --
    Es gibt Tage, da gelingt einem einfach alles.
    Aber das ist kein Grund zur Sorge; das geht vorbei.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. @@Der Martin:

      nuqneH

      ja, es gibt die Pseudoklasse :nth-child - wie weit es da mit der Browserunterstützung in der Realität ist, kann ich aber nicht sagen.

      Gut isses. Außer bei deinem Ex-Liebling.

      Wenn dir Kompatibilität wichtig ist, solltest du also auf andere Selektoren ausweichen, etwa eine speziell vergebene Klasse oder einen Attributselektor.

      Wer :nth-child nicht versteht, der versteht auch kaum Attributselektoren.

      Eine speziell vergebene Klasse ist dennoch nicht nötig*; auch I7 fährt schon auf 'td:first-child+td+td+td+td' ab (bzw. 'tbody th+td+td+td+td', wenn denn die Zeilenköpfe auch richtig als Kopfzellen ausgezeichnet sind).

      Wenn man in der misslichen Lage ist, auch IE 6 aus kaum nachvollziehbaren Gründen noch unterstützen zu müssen, kann man dem mit einer CSS-Expression auf die Sprünge helfen, wie bei den Zebrastreifen, nur nicht im Kreis zählen.

      Qapla'

      * Wenn natürlich schon ein Attribut (eine Klasse) im Markup vorhanden ist, um den Inhalt der Zelle semantisch auszuzeichnen (bspw. <td dtstart="2011-08-15">**), kann man diese natürlich _auch_ fürs Styling verwenden.

      ** No pun intended.

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. Hallo,

        ja, es gibt die Pseudoklasse :nth-child - wie weit es da mit der Browserunterstützung in der Realität ist, kann ich aber nicht sagen.
        Gut isses. Außer bei deinem Ex-Liebling.

        okay, ich hab diese Pseudoklasse noch nie angewendet, daher war ich mir nicht sicher. Außer natürlich, dass alte IEs das noch nicht können. Das interessiert aber vermutlich nur noch wenige.

        Wer :nth-child nicht versteht, der versteht auch kaum Attributselektoren.

        Hmm. Mag sein.

        Eine speziell vergebene Klasse ist dennoch nicht nötig*; auch I7 fährt schon auf 'td:first-child+td+td+td+td' ab (bzw. 'tbody th+td+td+td+td', wenn denn die Zeilenköpfe auch richtig als Kopfzellen ausgezeichnet sind).

        Prima, der Next Sibling Selector ist mir nicht eingefallen. :-)

        Ciao,
         Martin

        --
        You say, it cannot be love if it isn't for ever.
        But let me tell you: Sometimes, a single scene can be more to remember than the whole play.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    2. Hallo Martin, hallo Freddy,

      kann ich in CSS angeben, dass in einer Zeilendefinition
      <tr><td>....</td>.........<td>.......</tr>
      z.B. das 5. <td> eine eigene Formatierung erhält, z.B. "font-weight:bold"?

      ja, es gibt die Pseudoklasse :nth-child - wie weit es da mit der Browserunterstützung in der Realität ist, kann ich aber nicht sagen. Wenn dir Kompatibilität wichtig ist, solltest du also auf andere Selektoren ausweichen, etwa eine speziell vergebene Klasse oder einen Attributselektor.

      Wie wäre es denn für Browser, die nicht auf der Höhe der Zeit sind mit dem Nächsten-Geschwister-Selektor:

      td:first-child + td + td + td + td,  
      th:first-child + td + td + td + td, { font-weight:bold; }
      

      oder für den IE6 auch so:
      col.bold{ font-weight:bold; }
      Das Formatieren über COL-Elemente funktioniert allerdings auch nur in Bezug auf Eigenschaften, die nicht bereits in Bezug auf die Elementselektoren td oder th gesetzt sind. Auch eine "reset.css" zur browserübergreifenden Vereinheitlichung der Styleigenschaften darf sich zu solchen Eigenschaften, die man mit an COL-Elemente vergebene Klassen zuweisen will, nicht äußern.

      Gruß Gernot

      1. td:first-child + td + td + td + td,

        th:first-child + td + td + td + td, { font-weight:bold; }

        Autsch, das letzte Komma muss da natürlich weg, also:  
        ~~~css
        td:first-child + td + td + td + td,  
        th:first-child + td + td + td + td { font-weight:bold; }
        

        Gruß Gernot

      2. @@Gernot Back:

        nuqneH

        Wie wäre es denn für Browser, die nicht auf der Höhe der Zeit sind mit dem Nächsten-Geschwister-Selektor:

        Wie wäre es denn für Gernots, die nicht auf der Höhe der Zeit sind, mit dem Nächsten-Geschwister-Posting? ;->

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
  2. Hi,

    kann ich in CSS angeben, dass in einer Zeilendefinition
    <tr><td>....</td>.........<td>.......</tr>
    z.B. das 5. <td> eine eigene Formatierung erhält, z.B. "font-weight:bold"?

    Bspw. mittels der :nth-child()-Pseudoklasse.

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?