Uli: Problem mit offsetHeight

Hallo,

eine Ebene  wird mittels CSS mit der Höhe "10px"definiert.
Die Ebene hat - in diesem Beispiel - einen festen Abstand zum linken Fensterrand, ist vertikal zentriert
und reicht in der Ausdehnung immer bis zum rechten Bildschirmrand.

Lässt man sich die Höhe der Ebene ( ebene.offsetHeight ) mit alert ausgeben, wird eine Höhe von 19px gemeldet -  und auch angezeigt ! Die Höhenangabe von 19px erscheint bei allen Ebenen, die kleiner sind als 20px.
Ist eine Ebene höher als 20 px wird der richtige Wert ausgegeben und angezeigt.

Wie kommts ? Ist das ein Bug bei mir oder im Internet Explorer (5.*) ?

Gruss Uli

<HTML>
<HEAD>
<STYLE TYPE="text/css">
<!--
#ebene01
{
position:absolute;
width:0px;
height:10px;
background-color:#ffffff;
clip:rect(0px,0px,10px,0px);
visibility:visible;
}
//-->
</STYLE>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
function positioniere_ebene(name,left)
{
ebene = document.all[name];
ebene.style.pixelLeft = left;
ebene.style.pixelTop = document.body.scrollTop+document.body.clientHeight/2-ebene.offsetHeight/2;
ebene.style.pixelWidth = document.body.scrollLeft+document.body.clientWidth;
ebene.style.clip = "rect(0,"+ebene.style.pixelWidth+","+ebene.offsetHeight+",0)";
alert(ebene.offsetHeight)
}
//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#dcdcdc" SCROLL="no" onLoad="positioniere_ebene('ebene01',100)" onResize="window.location.reload()">
<DIV ID="ebene01"></DIV>
</BODY>
</HTML>

  1. Hallo,

    eine Ebene  wird mittels CSS mit der Höhe "10px"definiert.
    Die Ebene hat - in diesem Beispiel - einen festen Abstand zum linken Fensterrand, ist vertikal zentriert
    und reicht in der Ausdehnung immer bis zum rechten Bildschirmrand.

    Lässt man sich die Höhe der Ebene ( ebene.offsetHeight ) mit alert ausgeben, wird eine Höhe von 19px gemeldet -  und auch angezeigt ! Die Höhenangabe von 19px erscheint bei allen Ebenen, die kleiner sind als 20px.

    Also bei mir wird 10px ausgegeben, genau wie du es im CSS auch angegeben hast.

    Ist eine Ebene höher als 20 px wird der richtige Wert ausgegeben und angezeigt.

    Wie kommts ? Ist das ein Bug bei mir oder im Internet Explorer (5.*) ?

    Vielleicht.

    <STYLE TYPE="text/css">
    <!--
    #ebene01
    {
    position:absolute;
    width:0px;
    height:10px;
    background-color:#ffffff;
    clip:rect(0px,0px,10px,0px);
    visibility:visible;
    }
    //-->
    </STYLE>
    <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
    <!--
    function positioniere_ebene(name,left)
    {
    ebene = document.all[name];

    Das das IE 4.x Syntax ist, ist dir klar?

    Struppi.