André Laugks: IE, Tabelle im div und visibility:hidden

Hallo!

Ich habe hier eine Tabelle in einem Div. Dieses Div wird auf visibility:hidden gesetzt. Trotdem bleiben im IE6 (im 5er kann ich es nicht testen) die rote Rahmen der Tabellenzellen sichtbar. Im Netscape7 und Opera ist alles ok.

Ist das ein Feature oder Bug?

---------------------------------><8---------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<style type="text/css">
<!--
 table { border-collapse:collapse; }
 td   { background-color:#00ff00; border:1px #ff0000 solid; }
 #ebene  { position:absolute; background-color:#00ff00; top:100px; left:100px; visibility:hidden; }
//-->
</style>
</head>

<body style="background-color:#000000;">

<div id="ebene">
<table>
  <tr>
    <td>x</td>
    <td>x</td>
    <td>x</td>
    <td>x</td>
</tr>
</table>
</div>

</body>
</html>
---------------------------------><8---------------------------------

MfG, André Laugks

--
L-Andre @ gmx.de
  1. Hallo,

    vmtl. wird hier eine zu hohe Prorität erzeugt:

    table { border-collapse:collapse; }

    ein * html td {position:relative} wäre wohl als workaround möglich.

    Grüsse

    Cyx23

    1. Hallo!

      ein * html td {position:relative} wäre wohl als workaround möglich.

      Jetzt funktioniert es. Was hat aber das Sternchen im Selektor zu suchen? "html td" ist mir klar. Was das Sterchen bedeutet ist mir auch klar, aber an dieser Stelle wo es jetzt ist nicht, also das es vor dem html steht.

      MfG, André Laugks

      --
      L-Andre @ gmx.de
      1. Hallo André,

        ein * html td {position:relative} wäre wohl als workaround möglich.

        Jetzt funktioniert es. Was hat aber das Sternchen im Selektor zu suchen? "html td" ist mir klar. Was das Sterchen bedeutet ist mir auch klar, aber an dieser Stelle wo es jetzt ist nicht, also das es vor dem html steht.

        als valide Browserweiche für die IE, um Mozilla und Opera nicht mit dem Code zu versorgen, vgl.: http://www.lipfert-malik.de/webdesign/tutorial/bsp/kristof-lipfert-IE-4-6-crossover.html

        Grüsse

        Cyx23

        1. Hallo!

          ein * html td {position:relative} wäre wohl als workaround

          als valide Browserweiche für die IE, um Mozilla und Opera nicht mit dem Code zu versorgen, vgl.: http://www.lipfert-malik.de/webdesign/tutorial/bsp/kristof-lipfert-IE-4-6-crossover.html

          Aber wieso springt der IE auf "* html td" an. Meines erachten ist der Selektor nicht korrekt. Springt der IE drauf an, weil er meint es währe richtig?

          MfG, André Laugks

          --
          L-Andre @ gmx.de
          1. hi,

            Aber wieso springt der IE auf "* html td" an. Meines erachten ist der Selektor nicht korrekt. Springt der IE drauf an, weil er meint es währe richtig?

            bedeutung des selektors ist nach http://www.w3.org/TR/CSS21/selector.html:
            "Matches any element."

            mozilla und opera scheinen an dieser stelle zu merken, dass es oberhalb von html kein weiteres element gibt, wenden deshalb die regel nicht an.

            der IE scheint hier nicht so genau zu prüfen, sondern "* html" eher als "ein oder auch kein beliebiges element oberhalb von html" zu deuten, und damit trifft er für ihn zu.

            gruss,
            wahsaga

          2. Hallo,

            Aber wieso springt der IE auf "* html td" an. Meines erachten ist der Selektor nicht korrekt. Springt der IE drauf an, weil er meint es währe richtig?

            m.E. verhält sich hier der IE nicht korrekt, der IE scheint einfach "*" gegenüber zu tolerant zu sein (es fehlt ja die nötige Ebene), und so ist der Einsatz als CSS-Weiche auch recht verlässlich. Alle Browser scheinen zumindest bei der Styleumsetzung pauschal falsche höhere Ebenen als html ausszuchliessen, Tests wie <b><i><html> deuten darauf hin.

            Ähnlich pauschal, aber m.E. unrichtig, ist z.B. der noscript-Tag bei Opera zumindest für JavaScript/DOM einfach kein Teil des document und ärgerlicherweise nicht vorhanden.

            Grüsse

            Cyx23