Zitat:
Zitat von MitjaStachowiak
Und wenn man nur die Werte width, height, right und bottom setzt?
|
was dann? Du wolltest doch die Werte, die für eine Positionierung relevant sind. Wenn du right benutzt wird width berechnet.
Zitat:
Zitat von MitjaStachowiak
Sicher kann ich für den Moment offsetTop, -Left -Width und -Height die Position ermitteln, aber sobald der Benutzer die Fenstergröße ändert, verhällt sich die Box dann anders, als vorher.
|
Da verstehe ich nicht, was du meinst?
Inwiefern sollte sich die anders verhalten?
Zitat:
Zitat von MitjaStachowiak
Außerdem habe ich schon vergeblich versucht, eine offsetRight und offsetBottom-Methode zu entwickeln.
|
Wie gesagt, das wird aus der Position, der Größe und der Fenstergröße berechnet. Die musst du in deiner Rechnung natürlich miteinbinden.
Zitat:
Zitat von MitjaStachowiak
funktioniert nur, wenn offsetParent selbst wieder eine absolut positionierte Box ist, ist dies aber der Body-Tag kommt etwas falsches raus. Dann bräuchte ich noch Fallunterschiedungen, die in diesem Fall auf innerWidth zurückgreifen.
|
Ja die Größe des Fensters zu berechnen ist nicht einfach, es spielt auch noch eine Rolle ob die Seite im Quirks- oder Standardmode ist und es gibt Browserunterschiede. body.offsetWidth ist nicht der richtige Wert (zumindest im Standardmode), du brauchst documentElement und je nach Browser die Eigenschaft scrollHeight/Width oder offsetHeight/width
Zitat:
Zitat von MitjaStachowiak
Und selbst wenn ich das zum laufen bringe - es fehlt dann immernoch an einer Möglichkeit, festzustellen, ob die Box rechts oder unten verankert ist. Einfach nur zu prüfen ob der Wert für getComputedStyle['right'] existiert, reicht nicht, denn wenn die Werte left, width und right gesetzt sind, dann überschreibt left und width die right-Angabe, selbst, wenn diese zum Schluss steht. Aber getComputedStyle['right'] ist dann trotzdem gesetzt
|
Ich verstehe nicht dein Problem. Wie gesagt, arbeite mit top,left, width, height und alles ist gut. wArum du unbedingt right und bottom benötigst erschliest sich mir nicht.