Welche Lösung anstelle von leftmargin in Netscape?
Roberto
- browser
Hi, ich wollte über ein Javascript elegant den linken Seitenabstand in Abhängigkeit zur Bildschirmauflösung ändern, das klappt aber in Netscape nicht.
######################################################
<script LANGUAGE="JavaScript">
if(screen.width > 800) {
document.write('<body MARGINWIDTH=0 MARGINHEIGHT=0 TOPMARGIN=0 Leftmargin=45>'); }
else {
document.write('<body MARGINWIDTH=0 MARGINHEIGHT=0 TOPMARGIN=0 Leftmargin=25>'); }
</script>
##########################################################
Gibt es eine andere Lösung hierfür?
Grüße
Roberto
Hallo Roberto
Hi, ich wollte über ein Javascript elegant den linken Seitenabstand in Abhängigkeit zur Bildschirmauflösung ändern, das klappt aber in Netscape nicht.
Naja, "elegant" ist Geschmackssache ... ;-)
Das dynamische Schreiben des body-Tags kann wohl Probleme verursachen. Besser ist es, den Browser erst mal die Seite aufbauen zu lassen und das dann noch gegebenenfalls zu korrigieren. Es gibt dann einfach noch einen kleinen "Rechtsruck", wenn die Seite fertig geladen ist.
Wenn du dabei Netscape-4-rueckwaertskompatibel arbeiten willst, ist es am besten, du notierst den gesamten Seiteninhalt in einen positionierten Bereich, also:
<body>
<div id="Inhalt" name="Inhalt" style="position:absolute; top:0px; left:25px">
Seiteninhalt
</div>
</body>
Im einleitenden body-Tag notierst du dann den Event-Handler onLoad und rufst damit eine kleine Funktion auf, z.B.:
<body onLoad="Rand_korrigieren()">
Im Dateikopf, zwischen <head> und </head>, brauchst du dann noch eine entsprechende JavaScript-Funktion:
<script type="text/javascript">
function Rand_korrigieren() {
if(screen.width > 800) {
if(document.layers) document.Inhalt.top = 45;
else if(dcoument.getElementById)
document.getElementById("Inhalt").style.top = "45px";
}
}
</script>
Ist jetzt aber ungetestet und verstoesst damit gegen die Regeln der Forums-FAQ *g*
viele Gruesse
Stefan Muenz