Skip to main content

So legen Sie die Höhe eines HTML-Elements auf 100% fest

CSS Klasse oder ID für Contact Form 7 Formular festlegen (April 2025)

CSS Klasse oder ID für Contact Form 7 Formular festlegen (April 2025)
Anonim

Eine häufig gestellte Frage beim Website-Design lautet "Wie stellen Sie die Höhe eines Elements auf 100% ein"?

Dies mag eine einfache Antwort sein. Sie verwenden CSS einfach, um die Höhe eines Elements auf 100% festzulegen, aber dies streckt das Element nicht immer auf das gesamte Browserfenster. Finden wir heraus, warum dies geschieht und was Sie tun können, um diesen visuellen Stil zu erreichen.

Pixel und Prozentsätze

Wenn Sie die Höhe eines Elements mithilfe der CSS-Eigenschaft und eines Werts festlegen, der Pixel verwendet, nimmt dieses Element im Browser so viel vertikalen Platz ein. Zum Beispiel ein Absatz mit einem

Höhe: 100px;

nimmt in Ihrem Entwurf 100 Pixel vertikalen Raum ein. Es ist egal, wie groß Ihr Browserfenster ist, dieses Element wird 100 Pixel hoch sein.

Prozentsätze arbeiten anders als Pixel. Gemäß der W3C-Spezifikation werden die prozentualen Höhen in Bezug auf die Höhe des Containers berechnet. Wenn du also einen Absatz mit einem

Höhe: 50%;

In einem div mit einer Höhe von 100px beträgt der Absatz 50 Pixel, dh 50% des übergeordneten Elements.

Warum Prozentsatzhöhen versagen

Wenn Sie eine Webseite entwerfen und eine Spalte haben, die Sie die volle Höhe des Fensters einnehmen möchten, besteht die natürliche Neigung darin, ein

Höhe: 100%;

zu diesem Element. Immerhin, wenn Sie das einstellen

Breite

zu

Breite: 100%;

Das Element nimmt also den gesamten horizontalen Platz der Seite ein

Höhe

sollte gleich funktionieren, richtig? Leider ist dies überhaupt nicht der Fall.

Um zu verstehen, warum dies geschieht, müssen Sie verstehen, wie Browser Höhe und Breite interpretieren. Webbrowser berechnen die verfügbare Gesamtbreite in Abhängigkeit davon, wie weit das Browserfenster geöffnet wird.

Breite

Wenn Sie für Ihre Dokumente keine Werte festlegen, wird der Inhalt des Browsers automatisch auf die gesamte Breite des Fensters übertragen (100% der Standardwert).

Der Höhenwert wird anders als die Breite berechnet. Tatsächlich bewerten Browser die Höhe überhaupt nicht, es sei denn, der Inhalt ist so lang, dass er sich außerhalb des Ansichtsfensters befindet (wodurch Bildlaufleisten erforderlich sind) oder wenn der Webdesigner ein absolutes Element für ein Element auf der Seite festlegt.

Höhe

Ansonsten lässt der Browser den Inhalt einfach innerhalb der Breite des Ansichtsfensters bis zum Ende fließen. Die Höhe wird überhaupt nicht berechnet.

Probleme treten auf, wenn Sie eine prozentuale Höhe für ein Element festlegen, für das übergeordnete Elemente ohne festgelegte Höhe festgelegt sind. In anderen Worten, die übergeordneten Elemente haben einen Standardwert.

Höhe: Auto;

Tatsächlich bitten Sie den Browser, eine Höhe aus einem undefinierten Wert zu berechnen. Da dies einem Nullwert entsprechen würde, führt der Browser nichts aus.

Wenn Sie eine Höhe auf Ihren Webseiten auf einen Prozentsatz festlegen möchten, müssen Sie die Höhe von festlegen jeden übergeordnetes Element des Elements, dessen Höhe definiert werden soll. Mit anderen Worten, wenn Sie eine solche Seite haben:

Inhalt hier

Sie wollen wahrscheinlich die

div

und der Absatz darin soll eine Höhe von 100% haben, aber das div hat tatsächlich zwei übergeordnete Elemente:

und. Um die Höhe des zu bestimmen

div

auf eine relative Höhe müssen Sie die Höhe von einstellen

Karosserie

und

html

Elemente auch. Sie müssen also CSS verwenden, um die Höhe nicht nur der div-, sondern auch der body- und HTML-Elemente festzulegen. Dies kann eine Herausforderung sein, da Sie bei einer Einstellung auf 100% Höhe schnell überwältigt werden können, nur um den gewünschten Effekt zu erzielen.

Einige Dinge zu beachten, wenn Sie mit 100% Höhen arbeiten

Da Sie nun wissen, wie Sie die Höhe Ihrer Seitenelemente auf 100% einstellen, kann es aufregend sein, alle Ihre Seiten zu bearbeiten, aber es gibt ein paar Dinge, die Sie beachten sollten:

  • Ränder und Auffüllung können eine Bildlaufleiste hinzufügen, an der Sie keine möchten.Das Ärgerlichste, das ich beim Arbeiten mit prozentualen Höhen (und Breiten) gefunden habe, ist, dass die Auffüllung und Ränder der gleichen Elemente Bildlaufleisten hinzufügen können, obwohl der gesamte Inhalt ohne Bildlaufleisten angezeigt wird. Dies liegt daran, dass zuerst die Höhe oder Breite des Elements berechnet wird. Dann werden die Ränder und Polsterungen hinzugefügt. Wenn Sie also ein Element mit einer Höhe von 100% und einem oberen und unteren Rand von jeweils 10 Pixel haben, wird für die zusätzlichen 20 Pixel eine Bildlaufleiste angezeigt. Denken Sie daran, dass das CSS-Rahmenmodell der Größe eines Elements einen Rand, einen Rand und eine Auffüllung hinzufügt, so dass 100% aller anderen Werte des Rahmenmodells tatsächlich mehr als 100% betragen.
  • Wenn Ihr Inhalt mehr als die definierte Höhe beansprucht, werden alle darauf folgenden Elemente überschrieben.Wenn Sie also ein Design mit einer 80% hohen Spalte haben und der Inhalt darin 100% der Höhe einnimmt, werden diese zusätzlichen 20% unterhalb der Spalte fortgesetzt und das visuelle Design wird unterbrochen Ihrer Seite. Wenn sich unter dieser Spalte Inhalt befindet, wird der Text einfach darüber geschrieben. Ich sehe oft, dass dies geschieht, wenn ein Webdesigner versucht, die Höhe einer Seite zu erzwingen und die Seite perfekt zum Start zu bringen. Wenn sich jedoch der Inhalt dieser Seite in der Zukunft ändert, unterbrechen ihre absoluten Höhen den Fluss der Seite. Dies gilt doppelt, wenn Sie responsive Websites erstellen, deren Breite und Höhe sich mit der Größe des Ansichtsfensters ändern muss.

Um dies zu beheben, können Sie auch die Höhe des Elements einstellen. Wenn Sie es einstellen

Auto,

Bildlaufleisten werden angezeigt, wenn sie benötigt werden, verschwinden jedoch, wenn sie nicht benötigt werden.Dies behebt den visuellen Bruch, fügt jedoch Bildlaufleisten hinzu, wo Sie sie möglicherweise nicht möchten.

Viewport-Einheiten verwenden

Sie können diese Herausforderung auch meistern, indem Sie mit CSS-Ansichtsfenstern experimentieren. Wenn Sie die Maßeinheit für die Ansichtsfensterhöhe verwenden, können Sie die Größe von Elementen so anpassen, dass sie eine definierte Höhe des Ansichtsfensters einnimmt. Dies ändert sich, wenn sich das Ansichtsfenster ändert. Dies ist eine großartige Möglichkeit, um Ihre 100% -igen Ansichten auf einer Seite anzuzeigen, sie müssen jedoch für verschiedene Geräte und Bildschirmgrößen flexibel sein.