Ich habe ein Problem mit der Positionierung per Javascript in Abhängigkeit von CSS. Und zwar sollen innerhalb eines CMSs overlays angezeigt werden. Grundsätzlich ist das auch kein Problem, aber sobald das Theme mit relativ positionierten Elementen arbeitet, die über mehrere Ebenen Elternelemente des overlays sind, stimmt dessen Position nicht mehr. Soweit ist das ja auch nachvollziehbar, denn die Position des relativ positionierten Elternelement ist ja ausschlaggebend für die Position der absolut positionierten Kindelemente.
Da das overlay aber unabhängig vom Theme und dessen Aufbau funktionieren soll, muss ich irgendwie den Einfluss von relativ positionierten Eltern rausrechnen. Das CMS verwendet diese Funktion für die Bestimmung des Offsets des
Elements:http://www.dynamicdrive.com/dynamicindex5/overlapcontent.htm
Ich hatte jetzt die Idee, in der while-Schleife zu prüfen, ob das jeweilige Element relativ positioniert ist, und dieses in dem Fall zu überspringen. Das Problem ist, dass ParentEl.style.position immer leer ist, auch wenn das Element eindeutig per CSS relativ positioniert wird.
In einer KDE Mailinglist habe ich dann den Hinweis gefunden, das auf Gecko und KHTML basierende Browser wohl allgemein dieses Problem zeigen, wenn position:relative nicht als inline style festgelegt wird. In der Tat funktioniert es, wenn ich ebendies tue.
Das ist allerdings keine wirklich befriedigende Lösung, da sie die Erstellung von Designs mit relativ positionierten Elementen verkompliziert und den Code zwangsläufig "verschmutzt".
Hatte jemand vielleicht schon einmal ein ähnliches Problem oder kennt eine Lösung?
Vielen Dank!
Da das overlay aber unabhängig vom Theme und dessen Aufbau funktionieren soll, muss ich irgendwie den Einfluss von relativ positionierten Eltern rausrechnen. Das CMS verwendet diese Funktion für die Bestimmung des Offsets des
Elements:http://www.dynamicdrive.com/dynamicindex5/overlapcontent.htm
Ich hatte jetzt die Idee, in der while-Schleife zu prüfen, ob das jeweilige Element relativ positioniert ist, und dieses in dem Fall zu überspringen. Das Problem ist, dass ParentEl.style.position immer leer ist, auch wenn das Element eindeutig per CSS relativ positioniert wird.
In einer KDE Mailinglist habe ich dann den Hinweis gefunden, das auf Gecko und KHTML basierende Browser wohl allgemein dieses Problem zeigen, wenn position:relative nicht als inline style festgelegt wird. In der Tat funktioniert es, wenn ich ebendies tue.
Das ist allerdings keine wirklich befriedigende Lösung, da sie die Erstellung von Designs mit relativ positionierten Elementen verkompliziert und den Code zwangsläufig "verschmutzt".
Hatte jemand vielleicht schon einmal ein ähnliches Problem oder kennt eine Lösung?
Vielen Dank!