Michi: 3. Spalte einer Tabelle ausblenden

Hallo,

ich hab mal wieder eine Frage - ich hoffe sie ist nicht zu dämlich:
Ich will in einer Tabelle die dritte Spalte ausblenden und dabei den Platz, den sie belegen würde, freigeben.
In einer colgroup lässt sich die Spalte mit style="visibility: collapse;" zwar ausblenden, dann bleibt jedoch ein weiße Rand übrig. Und style="visibility: hidden;" darf in einer colgroup ja anscheinend nicht verwendet werden.
Und im HTML-Kopf kann ich es nicht definieren, da es kein :third-child (in Analogie zu :first-child) gibt.

Wie kann ich dennoch die Spalte ausblenden, ohne jeder einzelnen Zelle (einige hundert) etwas anhängen zu müssen?

Grüße,
Michi

  1. Ist die Eigenschaft "display:hidden;" erlaubt bei Tables?
    Der Platz würde dann nicht reserviert werden.

    1. Hi,

      Ist die Eigenschaft "display:hidden;" erlaubt bei Tables?
      Der Platz würde dann nicht reserviert werden.

      Es muss display:none heißen.

      Ob das aber auch bei colgroups geht weiß ich nicht. Bei einzelnen Zellen geht es aber.

      mfG,
      steckl

      1. Es muss display:none heißen.

        Ob das aber auch bei colgroups geht weiß ich nicht. Bei einzelnen Zellen geht es aber.

        Wohl nicht:
        http://www.w3.org/TR/CSS21/tables.html#columns

        Michi

        1. Hi,

          Es muss display:none heißen.

          Ob das aber auch bei colgroups geht weiß ich nicht. Bei einzelnen Zellen geht es aber.
          Wohl nicht:
          http://www.w3.org/TR/CSS21/tables.html#columns

          Vielleicht hilft dir noch dieser Thread weiter: IE zickt rum beim Ausblenden von Tabellenspalten.

          mfG,
          steckl

          1. Vielleicht hilft dir noch dieser Thread weiter: IE zickt rum beim Ausblenden von Tabellenspalten.

            Das scheint bei mir aber kein IE-Problem zu sein -- ich verwende schließlich Firefox 3...

            Michi

            1. Hi,

              Vielleicht hilft dir noch dieser Thread weiter: IE zickt rum beim Ausblenden von Tabellenspalten.
              Das scheint bei mir aber kein IE-Problem zu sein -- ich verwende schließlich Firefox 3...

              Ich habe den Code mal getestet im FF3 getestet und er lässt die einzelnen Tabellenspalten ausblenden, ohne dass die einzelnen TDs eine id/class haben.
              War das nicht das was du wolltest?
              Dass ein weißer Rand bleibt sehe ich auch nicht.

              mfG,
              steckl

              1. War das nicht das was du wolltest?
                Dass ein weißer Rand bleibt sehe ich auch nicht.

                Nicht ganz. Hier mal mein Code (exemplarisch):

                <table border="0" width="100%" >  
                <colgroup>  
                 <col><col><col style="visibility: collapse;">  
                </colgroup>  
                <tr>  
                 <td bgcolor="#FF0000">1</td><td bgcolor="#00FF00">2</td><td bgcolor="#0000FF">3</td>  
                </tr>  
                </table>
                

                Durch das Kollaps, wird die 100% Width nicht auf die 1. beiden Spalten aufgeteilt, sondern es wird immer noch etwas für die dritte Spate reserviert. Was in meinem Fall stört.

                Michi

                PS: Entschuldigung, wenn ich mich undeutlich Ausgedrückt habe.

                1. @@Michi:

                  <table border="0" width="100%" >

                  Warum verwendest du missbilligte HTML-Attribute für Darstellungsangaben, wenn du doch schon CSS einsetzst? Raus damit! Gib auch dies im Stylesheet an!

                  <col><col><col style="visibility: collapse;">

                  Inline-Styles sind auch böse[tm]. Gib besser alle Darstellungsangaben gesammelt im Stylesheet an!

                  <td bgcolor="#FF0000">1</td><td bgcolor="#00FF00">2</td><td bgcolor="#0000FF">3</td>

                  Siehe oben.

                  Live long and prosper,
                  Gunnar

                  --
                  Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
                  1. Warum verwendest du missbilligte HTML-Attribute für Darstellungsangaben, wenn du doch schon CSS einsetzst? Raus damit! Gib auch dies im Stylesheet an!
                    Inline-Styles sind auch böse[tm]. Gib besser alle Darstellungsangaben gesammelt im Stylesheet an!

                    Das ändert aber auch nix - der "Rand" bleibt.

                    MfG,
                    Michi

    2. Ist die Eigenschaft "display:hidden;" erlaubt bei Tables?
      Der Platz würde dann nicht reserviert werden.

      hidden ist nicht als Wert von display aufgeführt.

      Du meinst wahrscheinlich:
      display:none

      mfg Beat

      --
      Woran ich arbeite:
      X-Torah
         <°)))o><                      ><o(((°>o
  2. @@Michi:

    In einer colgroup lässt sich die Spalte mit style="visibility: collapse;" zwar ausblenden, dann bleibt jedoch ein weiße Rand übrig.

    Das Ausblenden von Spalten mit col {visibility: collapse} scheint bei den Browserherstellern noch nicht angekommen zu sein: IE, Opera und Safari machen es gar nicht; Firefox macht es falsch: er stellt die Rahmen der Zellen ausgeblendeter Spalten dennoch dar. IE 7 zeigt die gewünschte Darstellung bei col {display: none}, was aber auch nicht im Sinne des Erfinders ist.

    Jaja Opera und Safari, sich rühmen, alle möglichen Acid-Tests zu bestehen, aber nicht einmal simples CSS 2.0 umsetzen!

    Die dritte Spalte von
      ~~~html <tr><th>foo</th><th>bar</th><th>bar</th><th>quz</th></tr>
      <tr><td>foo</td><td>bar</td><td>bar</td><td>quz</td></tr>

    lässt sich mit  
      ~~~css
    th:first-child+th+th {display: none}  
      td:first-child+td+td {display: none}
    

    ausblenden; bzw. bei erster Spalte als Zeilenkopf
      ~~~html <tr><th>foo</th><th>bar</th><th>bar</th><th>quz</th></tr>
      <tr><th>foo</th><td>bar</td><td>bar</td><td>quz</td></tr>

    mit  
      ~~~css
    th:first-child+th+th {display: none}  
      th+td+td {display: none}
    

    Live long and prosper,
    Gunnar

    --
    Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
  3. Und im HTML-Kopf kann ich es nicht definieren, da es kein :third-child (in Analogie zu :first-child) gibt.

    :nth-child  der vollständigkeit halber ;) unterstützung dafür gibts aber praktisch noch keine