Der Martin: Variable Breite und Höhe von Elementen

Beitrag lesen

Hi,

Kein Problem, wenn die Vorfahrenelemente alle eine definierte Höhe haben.
Dennoch, ich habe ja auch nicht den Wert für width des body explizit definiert und trotzdem funktioniert das in DEM Fall ohne Probleme!
Also warum erkennt der Browser ohne weiters die 90% der Fensterbreite, aber nicht die 70% der Fensterhöhe?

weil "auto" für width und height unterschiedlich funktioniert. In der Breite heißt "auto" tatsächlich, dass das Element einschließlich seiner Abstände (margin, border, padding) die gesamte verfügbare Breite seines Elternelements bzw. im Fall des html-Elements die gesamte Fensterbreite einnehmen soll. In der Höhe orientiert sich "auto" aber am Platzbedarf des Elementinhalts.
Das ist auch sinnvoll, denn sonst wäre ja jeder Absatz, jede Überschrift, jede Liste so hoch wie das Browserfenster.

Das schöne an der Prozentangabe ist ja, dass man das Browserfenster skalieren kann und die Elemente sich dynamisch anpassen. So wie es mit 'width' auch problemlos funktioniert. Aber wenn ich bei der Höhe keine automatische Erkennung des Wertes habe, so dass es immer auf 'auto' steht, wie du sagtest, läuft dieses Feature natürlich leer.

Nein. Wie schon gesagt: Definiere für alle Vorfahrenelemente bis hinauf zum html-Element eine Höhe. Typisch ist etwa, dem body- und dem html-Element height:100% zu geben. Dann ist die Welt in Ordnung, weil sich eine Prozentangabe beim html-Element dann tatsächlich auf die Fenstergröße bezieht (was auch sonst, html hat ja kein Elternelement mehr).

So long,
 Martin

--
"Gestern habe ich die Rede des Parteivorsitzenden gehört. Zwei Stunden lang!" - "Worüber?" - "Hat er nicht gesagt."
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(