position:absolute hebelt im Netscape komplettes CSS aus
Jörg Dutschke
- dhtml
0 Mirko Richter0 CirTap0 Thomas J.S.
Hallo!
Betrachtet bitte mal folgendes Prob (ich weiß, die zeilen gabs schon ein paar Postings weiter unter, aber inzwischen ist das Problem ein anderes und das rechfertigt IMHO nen neuen Thread.)
<div id="menubereich" style="position:absolute;">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="einzuglinks">
blablabla-Text in Zeilen und Spalten *g*
</table>
</div>
<script language="JavaScript">
if (navigator.appVersion.substring(0,1) > 3)
{
if (document.layers) {
document.menubereich.visibility = "hide";
document.menubereich.zIndex = -1;
}else{
menubereich.style.display ='none';
}
}
</script>
Die Styleangabe im DIV benötige ich, damit Netscape das ganze auch wirklich als Layer erkennt und das Ausblenden mittels JS funzt. (Dank an Günter)
Aber was passiert nun?
Sämtliche Style-Angaben (welche vorher mittels einer externen CSS-Datei geladen wurden, werden nach diesen Zeilen kurzerhand für null und nichtig erklärt ...
Gibt's dafür eine plausible Erklärung?
Ciao
Jörg
Hallo!
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="einzuglinks">
blablabla-Text in Zeilen und Spalten *g*
</table>
Sämtliche Style-Angaben (welche vorher mittels einer externen CSS-Datei geladen wurden, werden nach diesen Zeilen kurzerhand für null und nichtig erklärt ...
Ich kann es nur vermuten, aber ich glaube es liegt eher an der etwas gewagten Tabellenstruktur.
Gibt's dafür eine plausible Erklärung?
Also ich halte das für ziemlich plausibel :-)
VG
Mirko
Hi Mirko!
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="einzuglinks">
blablabla-Text in Zeilen und Spalten *g*
</table>
Sämtliche Style-Angaben (welche vorher mittels einer externen CSS-Datei geladen wurden, werden nach diesen Zeilen kurzerhand für null und nichtig erklärt ...
Ich kann es nur vermuten, aber ich glaube es liegt eher an der etwas gewagten Tabellenstruktur.
;-) ... ich habe es auch schon ohne Table in dem DIV probiert ... einfach nur eine Textzeile, welche eigentlich nicht erscheinen dürfte ...
Aber IMHO dürfte das unerheblich dafür sein, daß durch die style-Angabe offenbar alle anderen Styles unwirksam werden ...
Ciao
Jörg
Hallo!
Also mal allgemein gesagt: Ich halte es für eine Grundvoraussetzung, daß man eine korrekte Syntax verwendet, was HTML und CSS betrifft. Jeder jammert nur, NS macht dies nicht und das nicht, aber das wundert mich bei den teilweise abenteuerlichen Konstrukten wirklich nicht.
Zu Deinem Problem:
Ich könnte wetten, daß es eine simple Erklärung für Dein Phänomen gibt und ich bin mir ziemlich sicher, daß es aus dem o.g. Grund auftritt. Ich habe jetzt mal ein bißchen rumprobiert und das JavaScript "hebelt" bei meinem NS die CSS-Angaben nicht aus.
Versuche mal Dein Problem etwas überschaubarer zu machen und probiere erst mal Deinen Code zu reduzieren, versuche nachzuvollziehen aus welchen Gründen das Problem auftauchen könnte. Wenn Du dann immer noch keine Lösung hast, kannst Du mit einer genauen Beschreibung ja noch mal nachfragen.
Ich bin gespannt :-)
VG
Mirko
Hi Jörg,
Aber was passiert nun?
Sämtliche Style-Angaben (welche vorher mittels einer externen CSS-Datei geladen wurden, werden nach diesen Zeilen kurzerhand für null und nichtig erklärt ...
na klar.
Der Layer ist für Netscape ein neues window mit einem eigenen document und das hat eben nix mehr mit dem window und dem document zu tun, in dem das teil mal angelegt wurde.
so einfach ist das. isz praktisch das selbe, als würdest du im document eines frames eincss laden und dich dann wundern, warum in der seite des anderen frames die CSS nicht interpretiert werden.
sobald du an einen layer (was absolut positioniertes) irgendwie "rumfummelst" oder ihn wie auch immer erstellst, mußt du netscape die gesammte CSS wieder mitteilen, z.B. wenn du in den layer hineinschreibst.
dein style enthält auch nicht vielmehr als ein position:absolute, kein links, kein rechts. wenn du text darin formatieren willst, mußt du das style attribut entsprechend aufblasen.
so ist das nunmal.
Viel Spaß
CirTap
hallo,
Aber was passiert nun?
Sämtliche Style-Angaben (welche vorher mittels einer externen CSS-Datei geladen wurden, werden nach diesen Zeilen kurzerhand für null und nichtig erklärt ...
Gibt's dafür eine plausible Erklärung?
ich gehe erstmal davon aus, dass du eine orentliche tabelle hast!?
sonst ist es nicht so kompliziert:
NS mag keine inline styles wirklich. also besser auch dein position:absolute auslagern.
zum testen:
http://www.unet.univie.ac.at/~a9105535/forum/test_a.html
http://www.unet.univie.ac.at/~a9105535/forum/test_b.html
http://www.unet.univie.ac.at/~a9105535/forum/test_b.html
die unterschiede sind nur klein, aber siehe dir das mit NS an.
grüße
thomas