Was ist ein Elternelement und wie definiere ich es?
Markus
- css
Hallo,
in der Beschreibung zur Positionierung eines <div> mit den Argumenten absolute, fixed, etc. (siehe http://selfhtml.teamone.de/css/eigenschaften/positionierung.htm) wird immer wieder von der Ausrichtung am Elternelement gesprochen. Was ist damit gemeint? Ich habe gedacht, daß sich diese Angabe auf den umgebenen Tag bezieht.
Mein Problem:
Ich habe zwei divs in einer td. Diese sollen übereinander angezeigt werden (überlappend). Mit "absolute" werden beide divs am linken, oberen Bildschirmrand angezeigt. Also nimmt er als Elternelement den body. Mit "fixed" werdem die beiden Elemente zwar in der Tabelle aber nicht überlappend, sondern untereinander angezeigt. Wie löse ich das Problem?
DANKE!!!!
Ich habe zwei divs in einer td. Diese sollen übereinander angezeigt werden (überlappend). Mit "absolute" werden beide divs am linken, oberen Bildschirmrand angezeigt. Also nimmt er als Elternelement den body. Mit "fixed" werdem die beiden Elemente zwar in der Tabelle aber nicht überlappend, sondern untereinander angezeigt. Wie löse ich das Problem?
Div sind Blockelemente, d.h. sie erzeugen einen Umbruch am Ende. Um sie nebeneinder darstellen zu können gibt es mehrere Möglichkeiten, entweder du verwendest ein inline Elemente z.b. span oder du floatest das linke oder deklarierste beide als inline Elemente.
evtl. hilft dir auch position:relative;
Struppi.
Versteh ich nicht! Ich will sie doch übereinander, also überlappend anzeigen lassen. Wie mach ich denn das?
UND WAS IST SO EIN BLÖDES ELTERNELEMENT!!!! Gleich spring ich aus dem Fenster (wenn ich nicht im Keller sitzen würde)
hi,
UND WAS IST SO EIN BLÖDES ELTERNELEMENT!!!!
hör bitte auf zu schreien, wenn du hier auch weiterhin antworten bekommen willst.
ein elternelement ist schlicht und einfach ein übergeordnetes element im HTML parse tree.
<div id="blah">
<form ...>
<span>...</span>
<input ...>
</form>
</div>
sowohl form als auch div sind jetzt elternelemente von span und input.
form hat div als elternelement, und so weiter hoch (auch body und html sind elternelemente der genannten objekte).
gruss,
wahsaga
<div id="blah">
<form ...>
<span>...</span>
<input ...>
</form>
</div>
sowohl form als auch div sind jetzt elternelemente von span und input.
Naja, div ist wohl ein Vorfahre von span und input, aber kein Elternelement, wohl eher ein Großelternelement. Spätestens bei den diversen CSS-Selektoren wird diese Unterscheidung sehr wichtig.
form hat div als elternelement, und so weiter hoch (auch body und html sind elternelemente der genannten objekte).
html ist das Elternelement des bodies, ansonsten wissen wir noch, daß beide Vorfahren aller oben genannten Elemente sind, alles weitere ist allerdings Spekulation.
Gruß
Avalon
hi,
Naja, div ist wohl ein Vorfahre von span und input, aber kein Elternelement, wohl eher ein Großelternelement. Spätestens bei den diversen CSS-Selektoren wird diese Unterscheidung sehr wichtig.
aber in diesem falle, wo es um den bezugspunkt von absoluter positionierung geht, ist genau eins der übergeordneten elemente relevant - und zwar das nächsthöhere, dessen position vom default static abweicht.
gruss,
wahsaga
Naja, div ist wohl ein Vorfahre von span und input, aber kein Elternelement, wohl eher ein Großelternelement. Spätestens bei den diversen CSS-Selektoren wird diese Unterscheidung sehr wichtig.
aber in diesem falle, wo es um den bezugspunkt von absoluter positionierung geht, ist genau eins der übergeordneten elemente relevant - und zwar das nächsthöhere, dessen position vom default static abweicht.
Soweit sogut! Das wäre dann der jüngste Vorfahre mit einer position != static aber immer noch kein Elternelement.
Gruß
Avalon
Moin!
Mein Problem:
Ich habe zwei divs in einer td. Diese sollen übereinander angezeigt werden (überlappend). Mit "absolute" werden beide divs am linken, oberen Bildschirmrand angezeigt. Also nimmt er als Elternelement den body. Mit "fixed" werdem die beiden Elemente zwar in der Tabelle aber nicht überlappend, sondern untereinander angezeigt. Wie löse ich das Problem?
Erstens: Tu dir und alten Browsern den Gefallen und packe keine positionierten DIVs in Tabellen. Man sollte die beiden so herum im Code niemals mischen. Ein DIV zu positionieren, in dem eine Tabelle steht, ist dagegen kein Problem.
Zweitens: Das Elternelement, nach dem sich die Ausrichtung von top/bottom und left/right richtet, ist das, welches das auszurichtende DIV enthält und selbst mit fixed, absolute oder relative positioniert ist. Ist kein Element positioniert, wird sich am Browserfenster und dem darin angezeigten <body> orientiert.
Drittens: Auch wenn du wenig zu deiner Struktur gesagt hast, deutet viel darauf hin, dass die Tabellen/DIV-Vermischung sowieso der falsche Ansatz ist.
- Sven Rautenberg