Du schon wieder?
Klasse :)
hi,
Ich möchte eine Textbox deckungsgleich über eine Tabellenzelle legen . Jede Zelle hat eine eigene id und ist somit "ansprechbar".
aus welchem grund willst du das mit JS machen?
ist relative absolute positionierung nicht einfacher?
Bin mir nicht ganz sicher, ob ich dir folgen kann. Meinst du sowas?
td { height: 50px; width:50px;
background-color: blue; border: 0px;
position: relative;
margin:0px; padding: 0px;}
#test { height: 50px; width:50px;
position: absolute; z-index:1000;
margin:0px; padding: 0px;
background-color: red; border: 0px;}
<table >
<tr>
<td><div id="test">jo</div>bla</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
Funktioniert im IE. In Opera und FF rutscht die rote box um ca 10px nach unten raus.
Füge ich #test {top: 0px; left: 0px;} hinzu, liegt die rote Box am Bildschirmrand oben links (was übrigens vom IE KOMPLETT ignoriert wird...).
JS brauche ich eh für mein Projekt. Da ich die Box nachträglich einfüge, möchte ich JS dazu benutzen sie dabei exakt zu positionieren. Auf die üblichen CSS Browserhacks hinsichtlich der Positionierung könnte ich dann verzichten.
Gibt es eine Möglichkeit durch JavaScript die Koordinaten der linken oberen Ecke der Zelle 2.1 auszulesen?
offsetTop und offsetLeft helfen weiter (stehen zwar in self unter document.all, sind aber in den anderen browsern ebenso wie im IE >= 5 inzwischen unterhalb des node-objektes realisiert).
und ggf. noch die werte evtl. vorhandener offsetParents rekursiv hinzuaddieren.
»»
Danke für die Stichworte. Muß deine Hinweise erst mal verdauen und ein wenig damit rumspielen.
gruß,
wahsaga
»»
Gruß,
pepebe