2 Eigenheiten von Firebird 0.7
Fegro
- javascript
Hallo,
im ( dem ansonsten großartigen ) Mozilla Firebird 0.7 ( d ) sind bei dem unten folgenden Script zwei Eigenheiten aufgetaucht.
Ausgangssituation:
Eine Ebene ( 100px hoch ) wird über ein Script zentriert dargestellt. Die Breite der Ebene ist dabei immer 100% des Fensters.
Zu sehen ist also ein 100px hoher Streifen, der - zentriert ausgerichtet - quer durch das Fenster verläuft.
Die Ebene ist mit CSS in der Höhe vordefiniert, die Breite wird durch das Script ermittelt, und die Ebene entsprechend positioniert.
Aufgefallen ist mir 1.)
Beim Vordefinieren der Ebene akzeptiert Firebird keine "0"-Werte für "width";
der Wert muss mindestens "1" betragen, sonst wird die ganze Ebene falsch ausgerichtet.
Nach meinen Versuchen kommen sich "width" und "offsetHeight" in die Quere.
Wird der Wert von "width" auf "1" gesetzt, wird auch der Wert von "offsetHeight" wieder korrekt ermittelt.
width:0px;
clip:rect(0px,0px,100px,0px);
Aufgefallen ist mir 2.)
In diesem Zusammenhang akzeptiert Firebird kein "overflow:hidden", mit dem ich sonst die Scrollbalken eliminiere.
Die Ebene wird dann falsch oder gar nicht ausgerichtet. Meines wissens gibt es nur zwei Möglichkeiten, Scrollbalken wegzubekommen; mit "SCROLL='no" ( wohl nicht offiziell - wird von Firebird ignoriert ) und "overflow:hidden" ( wird von Firebird in diesem Fall nicht akzeptiert )
Wo liegen die Ursachen für die geschilderten Probleme - bin für jede ernstgemeinte Information dankbar.
Mfg
Fegro
<HTML>
<HEAD>
<STYLE TYPE="text/css">
<!--
#ebene01
{
position:absolute;
width:1px;
height:100px;
background-color:#dcdcdc;
layer-background-color:#dcdcdc;
clip:rect(0px,1px,100px,0px);
visibility:visible;
z-index:0;
}
/*
.body
{
overflow:hidden;
}
*/
//-->
</STYLE>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
var dom = (document.getElementById) ? 1:0;
function positioniere_ebene(name)
{
if (dom)
{
ebene = document.getElementById(name);
ebene.style.left = "0";
ebene.style.top = document.body.scrollTop+document.body.clientHeight/2-ebene.offsetHeight/2;
ebene.style.width = document.body.scrollLeft+document.body.clientWidth;
ebene.style.clip = "rect(0,"+ebene.style.width+","+ebene.offsetHeight+",0)";
}
}
//-->
</SCRIPT>
</HEAD>
<!--
<BODY CLASS="body" onLoad="positioniere_ebene('ebene01')" onResize="window.location.reload()">
//-->
<BODY SCROLL="no" onLoad="positioniere_ebene('ebene01')" onResize="window.location.reload()">
<DIV ID="ebene01"></DIV>
</BODY>
</HTML>
hi,
Eine Ebene ( 100px hoch ) wird über ein Script zentriert dargestellt.
Die Breite der Ebene ist dabei immer 100% des Fensters.
Beim Vordefinieren der Ebene akzeptiert Firebird keine "0"-Werte für "width";
der Wert muss mindestens "1" betragen, sonst wird die ganze Ebene falsch ausgerichtet.
warum willst du einer ebene, von der du weiter oben sagst, dass sie 100% breite einnehmen soll, jetzt width:0 oder 1 verpassen?
gruss,
wahsaga
warum willst du einer ebene, von der du weiter oben sagst, dass sie 100% breite einnehmen soll, jetzt width:0 oder 1 verpassen?
will nicht - muss ...
Ich denke, ich muss die Ebene vorab definieren, bevor sich das Script daran vergreift:
#ebene01
{
position:absolute;
width:1px;
height:100px;
background-color:#dcdcdc;
layer-background-color:#dcdcdc;
clip:rect(0px,1px,100px,0px);
visibility:visible;
z-index:0;
}