Murmelin: Problem mit colspan=2

Hallo,

ich habe eine Tabelle, deren Spalten mit CSS definiert werden:

tr>td:first-child {width:10em}  
tr>td:first-child+td {width:1.5em; background:#fdd}  
tr>td:first-child+td+td {width:1.5em; background:#dfd}  

Es gibt Zeilen (Zwischenüberschriften), in denen zwei Spalten zusammengefasst werden:

<tr>  
  <td colspan=2>Überschrift</td>  
  <td>xxx</td>  
</tr>

Die Spalte mit dem Inhalt xxx ist die dritte Spalte, erhält aber the stylesheet der zweiten. Also Hintergrund #fdd statt #dfd

Gibt es einen Trick, die Spalten "richtig" zu definieren?

Gruß, Murmelin

  1. @@Murmelin:

    nuqneH

    Die Spalte mit dem Inhalt xxx ist die dritte Spalte, erhält aber the stylesheet der zweiten.

    Klar, es ist ja das dem ersten 'td'-Kindelement folgende 'td'-Element.

    Gibt es einen Trick, die Spalten "richtig" zu definieren?

    Attributselektor: td[colspan]:first-child+td

    Übrigens sind die ersten Zellen einer Tabellenzeile üblicherweise Kopfzellen, also 'th', nicht 'td'. Besonders, wenn es Zwischenüberschriften sind. Dann kannst du dir auch :first-child sparen.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Gibt es einen Trick, die Spalten "richtig" zu definieren?

      Attributselektor: td[colspan]:first-child+td

      Und wenn es unterschiedliche colspan-Werte gibt und nicht alle notwendigerweise 2 haben, kann der Attributselektor gerne auch Werte der Attribute vergleichen.

      1. @@suit:

        nuqneH

        Und wenn es unterschiedliche colspan-Werte gibt und nicht alle notwendigerweise 2 haben, kann der Attributselektor gerne auch Werte der Attribute vergleichen.

        Bei @colspan="3" sollte es bei heiliger Dreispaltigkeit kein nachfolgendes Geschwisterelement geben.

        Aber ja, natürlich ist es sicherer, gegen 2 zu vergleichen; es könnte ja jemand @colspan="1" angeben. ;-)

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
        1. Bei @colspan="3" sollte es bei heiliger Dreispaltigkeit kein nachfolgendes Geschwisterelement geben.

          In diesem speziellen Fall ja :) ich wollte hiermit aber eher das Archiv füttern

          Aber ja, natürlich ist es sicherer, gegen 2 zu vergleichen; es könnte ja jemand @colspan="1" angeben. ;-)

          Selbstverständlich :D

          1. @@suit:

            nuqneH

            ich wollte hiermit aber eher das Archiv füttern

            Ab in den Keller!

            Qapla'

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

          Und wenn es unterschiedliche colspan-Werte gibt und nicht alle notwendigerweise 2 haben, kann der Attributselektor gerne auch Werte der Attribute vergleichen.

          Bei @colspan="3" sollte es bei heiliger Dreispaltigkeit kein nachfolgendes Geschwisterelement geben.

          Aber ja, natürlich ist es sicherer, gegen 2 zu vergleichen; es könnte ja jemand @colspan="1" angeben. ;-)

          oder noch eins weniger, colspan="0". Was ja durchaus sinnvoll sein kann, weil man's beim Hinzufügen neuer Spalten nicht ändern muß.

          cu,
          Andreas

          --
          Warum nennt sich Andreas hier MudGuard?
          O o ostern ...
          Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.