In einem Interview wurde mir die Frage gestellt: "Was ist der Unterschied zwischen CSS height:100%
und height:auto
?"
Kann jemand erklären?
height: 100%
gibt dem Element 100% Höhe seines übergeordneten Containers an.
height: auto
bedeutet, dass die Elementhöhe von der Höhe der untergeordneten Elemente abhängt.
Betrachten Sie diese Beispiele:
Höhe: 100%
<div style="height: 50px">
<div id="innerDiv" style="height: 100%">
</div>
</div>
#innerDiv
wird haben height: 50px
Höhe: Auto
<div style="height: 50px">
<div id="innerDiv" style="height: auto">
<div id="evenInner" style="height: 10px">
</div>
</div>
</div>
#innerDiv
wird haben height: 10px
10px + the size it needs for its own content
- siehe diese jsfiddlesetting the height of the child element or the container element
. Sie können alles tun, um Ihr Design zu erreichen, vorausgesetzt, Sie folgen einer bestimmten Konsistenz, vermeiden Doppelarbeit, reduzieren Nacharbeiten und gruppieren allgemeine Layouts. Kurz gesagt, es muss ein System / Muster für Ihre Arbeit geben, damit es leicht zu lesen und zu ändern ist, und natürlich die Tatsache, dass es funktionieren sollteauto
dass das Element wächst, um sowohl seinen Inhalt als auch den Inhalt seines Kindes aufzunehmen. Im Gegensatz dazu vergrößert (oder zeigt) ein Wert für feste Höhe keinen Inhalt, der nicht in die deklarierte Höhe passt. jsfiddle.net/m3f8y6xr/1 Diese Antwort ist meines Erachtens nicht ausreichend formuliert, um deutlich zu machen, dass das Element alle Inhalte enthält, unabhängig davon, ob es sich um einen eigenen Text oder den Inhalt eines Kindes handelt. Natürlich kann argumentiert werden, dass sein eigener Text auch ein Kind ist. Dies bietet eine visuelle Bestätigung des Verhaltens.Eine Höhe von 100% für ist vermutlich die Höhe des inneren Fensters Ihres Browsers , da dies die Höhe des übergeordneten Fensters ist . Eine
auto
Höhe wird die sein , Mindesthöhe der erforderlichen enthalten .quelle
Die Standardeinstellung ist
height: auto
im Browser,height: X%
definiert jedoch die Höhe in Prozent des enthaltenen Blocks.quelle
height: 100% funktioniert, wenn der übergeordnete Container eine bestimmte height-Eigenschaft hat. Andernfalls funktioniert dies nicht
quelle