IE, Tabelle im div und visibility:hidden
André Laugks
- css
0 Cyx230 André Laugks0 Cyx23
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
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
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
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
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
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
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