Dirk B.: probleme mit <div> in verbindung mit position: relative

Hallo,
ich habe ein kleines Prob mit position: relative in verbindung mit <div>

ich habe drei ebenen (<div>)... die in einer tabellenzelle stehen. (<td> <div name=layer1 .. </td>)

ich habe postion: relative gewählt da die Seite zentriert ist und sich der left abstand je nach auflösung änden würde.
durch position: relative erreiche ich dass die tabelle als fixpunkt genommen wird, und so kann ich durch angabe von left und top die ebenen genau platzieren.
Das ganze wird als animiertes menü benützt.

Code:

btw: td ist 53 px hoch, weil dort eine grafik angezeigt wird (2.gif) über welches sich das menü ausklappen soll)

...
 <tr><td colspan="7" height=53 width=100% background="2.gif" valign=top>
<!-- ####################################################################### -->

<div id="Layer1"   style="position:relative; width:939; height:16px; z-index:2; top:0px; left:61px; visibility: hidden;"> Inhalt ist eine tabelle.
</div>
<!-- ####################################################################### -->
 <div id="Layer2"   style="position:relative; width:827px; height:16px; z-index:3; top:-16px; left:174px; visibility: hidden;">
  inhalt ist eine tabelle
</div>
<!-- ####################################################################### -->
 <div id="Layer3"   style="position:relative; width:723; height:16px; z-index:4; top:-32px; left:279px; visibility: hidden;">
 inhalt ist ine tabelle..
</div>
<!-- ####################################################################### -->
  </td></tr>
...

Wie ihr seht musst ich bei layer2 (bzw. layer3)  top: -16px (bzw. -32px) angeben, da layer 2 scheinbar an layer 1 (und layer 3 an layer2) ausgerichtet wird, obwohl visibilty: hidden und left an der tabellenzelle ausgerichtet wird.

Im Firefox funtkioniert das auch prima. Im Internet Explorer ist Layer 2 aber um 3 px zu weit unten und Layer3 um 6px. Ich verstehe nicht warum... Wie kann ich die Layer ausrichten dass sie oben an der tabellenzelle "kleben"?

Danke für Lesen,
Gruß Dirk

  1. Hallo Dirk

    ich habe postion: relative gewählt da die Seite zentriert ist und sich der left abstand je nach auflösung änden würde.

    Du willst sie also nicht positionieren sondern lediglich verschieben?

    durch position: relative erreiche ich dass die tabelle als fixpunkt genommen wird, und so kann ich durch angabe von left und top die ebenen genau platzieren.

    Dazu dient position:absolute mit einem Elternelement dessen Position von
    static abweicht.

    Wie ihr seht musst ich bei layer2 (bzw. layer3)  top: -16px (bzw. -32px) angeben, da layer 2 scheinbar an layer 1 (und layer 3 an layer2) ausgerichtet wird, obwohl visibilty: hidden und left an der tabellenzelle ausgerichtet wird.

    Natürlich, visibility (Anzeige bzw. Nichtanzeige mit Platzhalter)!

    Im Firefox funtkioniert das auch prima.

    Weil du die Verschiebe-Maße an ihn angepasst hast.
    Wie sieht es in anderen Browsern aus?

    Schau dir mal display (Anzeigeart bzw. Nichtanzeige ohne Platzhalter) an.

    uf Wiederlesen
    Detlef

    --
    - Wissen ist gut
    - Können ist besser
    - aber das Beste und Interessanteste ist der Weg dahin!