Position absolute an nächst höherem oder höheren Element(en)?
Jannik
- css
Hallo,
SelfHTML sagt:
* absolute Positionierung, gemessen am Rand des nächsthöheren
* Vorfahrenelements, das nicht die Normaleinstellung position:static
* aufweist
Daraus schließe ich, dass der Browser bei einem absolute positionierten Element so lange nach oben geht, bis eines nicht "static"/normal positioniert ist?
CSS4You sagt:
* Die absolute Position wird relativ zu den Rändern des Eltern-Elements
* berechnet, wenn dieses ebenfalls positioniert ist, oder wenn es der
* Seiteninhalt (<body>) ist.
Also nur, wenn das direkte Eltern-Element absolute ist?
W3C CSS 2.1 Spec: http://www.w3.org/TR/CSS21/visuren.html#absolute-positioning
http://www.w3.org/TR/CSS21/visuren.html#containing-block
Mein Englisch ist nicht besonders gut, aber der "containing block" ist meiner Meinung nach ein Rechteck, das jedes Element umgibt. Kann mir das jemand erklären?
IE, Opera und Konqueror scheinen die erste Variante zu unterstützen, Firefox die zweite. Was ist richtig? Natürlich, bin ich dann mit der zweiten auf der sicheren Seite, aber was ist, wenn ich ein div innerhalb einer Tabelle absolut zum <table>-Tag positionieren will. Ich darf es ja nur innerhalb des <td>-Tags verwenden.
Hoffe auf Hilfe
Jannik
Hi
Daraus schließe ich, dass der Browser bei einem absolute positionierten Element so lange nach oben geht, bis eines nicht "static"/normal positioniert ist?
So ist es.
Grüße
Ole
Yerf!
IE, Opera und Konqueror scheinen die erste Variante zu unterstützen, Firefox die zweite. Was ist richtig? Natürlich, bin ich dann mit der zweiten auf der sicheren Seite, aber was ist, wenn ich ein div innerhalb einer Tabelle absolut zum <table>-Tag positionieren will. Ich darf es ja nur innerhalb des <td>-Tags verwenden.
Das Problem im FF ist nicht die Schachtelungstiefe, sondern dass es sich um eine Tabelle handelt. Für diese ist das Verhalten von Position-Angaben (zumindest ein positon:relativ) undefiniert und der FF nimmt das mal wieder zu wörtlich...
Gruß,
Harlequin