Knautschke
New member
Hi.
Folgende Situation:
Ich habe ein Element. Das klebt per "position: fixed" und "top: 0" am oberen Bildschirmrand, und ist somit für den User immer sichtbar. Nun möchte ich, dass das Element sich an eine andere Stelle bewegt, und dort bleibt, also unabhängig vom Bildschirmausschnitt ist. Also ändere ich die Position auf "absolute" und gebe einen passenden top Wert an, z.B. "1200px".
Also kurz:
Start: position "fixed", top "0"
Ziel: position "absolute", top "1200px"
Das ganze per CSS-Transition animiert. Das Problem ist nun wie folgt. Die Animation läuft so ab, als wären die Werte wie folgt:
Start: position "absolute", top "0"
Ziel: position "absolute", top "1200px"
Das liegt wohl daran, dass ja "fixed" auf "absolute" nicht so einfach animiert werden kann. Da "absolute top 0" und "fixed top 0" nicht das gleiche ist, springt also das Element, und die Animation ist kaputt.
Die einzige Lösung, die mir im Moment einfällt, wäre die "fixed" Position in eine absolute Position umzurechnen, das Element entsprechend zu positionieren, und dann die Animation auszuführen.
Soweit ich weiß gibt es jedoch keine einfache Methode, um den absoluten top-Wert eines Elements herauszufinden, wenn dieses auf "fixed" steht. Kennt da jemand eine praktische Funktion? Oder eine andere Methode wie ich das Problem lösen kann?
Danke und Gruß.
Folgende Situation:
Ich habe ein Element. Das klebt per "position: fixed" und "top: 0" am oberen Bildschirmrand, und ist somit für den User immer sichtbar. Nun möchte ich, dass das Element sich an eine andere Stelle bewegt, und dort bleibt, also unabhängig vom Bildschirmausschnitt ist. Also ändere ich die Position auf "absolute" und gebe einen passenden top Wert an, z.B. "1200px".
Also kurz:
Start: position "fixed", top "0"
Ziel: position "absolute", top "1200px"
Das ganze per CSS-Transition animiert. Das Problem ist nun wie folgt. Die Animation läuft so ab, als wären die Werte wie folgt:
Start: position "absolute", top "0"
Ziel: position "absolute", top "1200px"
Das liegt wohl daran, dass ja "fixed" auf "absolute" nicht so einfach animiert werden kann. Da "absolute top 0" und "fixed top 0" nicht das gleiche ist, springt also das Element, und die Animation ist kaputt.
Die einzige Lösung, die mir im Moment einfällt, wäre die "fixed" Position in eine absolute Position umzurechnen, das Element entsprechend zu positionieren, und dann die Animation auszuführen.
Soweit ich weiß gibt es jedoch keine einfache Methode, um den absoluten top-Wert eines Elements herauszufinden, wenn dieses auf "fixed" steht. Kennt da jemand eine praktische Funktion? Oder eine andere Methode wie ich das Problem lösen kann?
Danke und Gruß.