overflow
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die overflow
CSS Kurzschreibweise legt das gewünschte Verhalten fest, wenn Inhalte nicht in den Innenabstand (Padding-Box) des Elements passen (überlaufen) und dies in horizontaler und/oder vertikaler Richtung geschieht.
Probieren Sie es aus
overflow: visible;
overflow: hidden;
overflow: clip;
overflow: scroll;
overflow: auto;
<section class="default-example" id="default-example">
<p id="example-element">
Michaelmas term lately over, and the Lord Chancellor sitting in Lincoln's
Inn Hall. Implacable November weather. As much mud in the streets as if the
waters had but newly retired from the face of the earth.
</p>
</section>
#example-element {
width: 15em;
height: 9em;
border: medium dotted;
padding: 0.75em;
text-align: left;
}
Einzelne Eigenschaften
Diese Eigenschaft ist eine Kurzschreibweise für die folgenden CSS-Eigenschaften:
Syntax
/* Keyword values */
overflow: visible;
overflow: hidden;
overflow: clip;
overflow: scroll;
overflow: auto;
overflow: hidden visible;
/* Global values */
overflow: inherit;
overflow: initial;
overflow: revert;
overflow: revert-layer;
overflow: unset;
Die overflow
-Eigenschaft wird als ein oder zwei <overflow>
Schlüsselwortwerte angegeben. Wenn nur ein Schlüsselwort angegeben wird, setzen overflow-x
und overflow-y
denselben Wert. Wenn zwei Schlüsselwörter angegeben werden, wird der erste Wert auf overflow-x
in der horizontalen Richtung angewendet und der zweite auf overflow-y
in der vertikalen Richtung.
Werte
visible
-
Überlaufender Inhalt wird nicht abgeschnitten und kann außerhalb des Innenabstands (Padding-Box) des Elements sichtbar sein. Die Elementbox ist kein Scrollcontainer. Dies ist der Standardwert der
overflow
-Eigenschaft. -
Überlaufender Inhalt wird an der Innenabstandskante des Elements abgeschnitten. Es gibt keine Scrollleisten, und der abgeschnittene Inhalt ist nicht sichtbar (d.h. der abgeschnittene Inhalt ist versteckt), aber der Inhalt existiert weiterhin. Web-Browser fügen keine Scrollleisten hinzu und erlauben es den Benutzern auch nicht, den Inhalt außerhalb des abgeschnittenen Bereichs durch Aktionen wie das Ziehen auf einem Touchscreen oder die Verwendung des Scrollrads einer Maus anzuzeigen. Der Inhalt kann jedoch programmgesteuert gescrollt werden (zum Beispiel durch Verlinkung zu einem Ankertext, durch Tabulatornavigieren zu einem versteckten, aber fokussierbaren Element oder durch Festlegen des Wertes der
scrollLeft
-Eigenschaft oder derscrollTo()
-Methode), in welchem Fall die Elementbox ein Scrollcontainer ist. clip
-
Überlaufender Inhalt wird an der Überlaufabschneidekante des Elements abgeschnitten, die mit der
overflow-clip-margin
-Eigenschaft definiert wird. Dadurch läuft der Inhalt bis zum<length>
-Wert vonoverflow-clip-margin
oder, falls nicht gesetzt, bis0px
über die Innenabstandskante hinaus. Überlaufender Inhalt außerhalb des abgeschnittenen Bereichs ist nicht sichtbar, Browser fügen keine Scrollleiste hinzu, und programmgesteuertes Scrollen wird ebenfalls nicht unterstützt. Es wird kein Formatierungskontext erstellt. Zum Erstellen eines Formatierungskontexts verwenden Sieoverflow: clip
zusammen mitdisplay: flow-root
. Die Elementbox ist kein Scrollcontainer. scroll
-
Überlaufender Inhalt wird an der Innenabstandskante des Elements abgeschnitten, und überlaufender Inhalt kann mit Scrollleisten in den Sichtbereich gescrollt werden. Browser zeigen Scrollleisten an, unabhängig davon, ob Inhalte überlaufen oder nicht, sowohl in horizontaler als auch vertikaler Richtung, wenn der Wert auf beide Richtungen zutrifft. Die Verwendung dieses Schlüsselworts kann daher verhindern, dass Scrollleisten erscheinen und verschwinden, wenn sich Inhalte ändern. Drucker können trotzdem überlaufenden Inhalt drucken. Die Elementbox ist ein Scrollcontainer.
auto
-
Überlaufender Inhalt wird an der Innenabstandskante des Elements abgeschnitten, und überlaufender Inhalt kann mit Scrollleisten in den Sichtbereich gescrollt werden. Im Gegensatz zu
scroll
zeigen Browser Scrollleisten nur an, wenn der Inhalt überläuft. Wenn der Inhalt in den Innenabstand des Elements passt, sieht es aus wievisible
, erstellt aber trotzdem einen neuen Formatierungskontext. Die Elementbox ist ein Scrollcontainer.
Hinweis:
Der Schlüsselwortwert overlay
ist ein veraltetes Alias für auto
. Mit overlay
werden die Scrollleisten auf dem Inhalt gezeichnet, anstatt Platz zu beanspruchen.
Beschreibung
Überlaufoptionen umfassen das Ausblenden von Überlaufinhalten, das Aktivieren von Scrollleisten, um Überlaufinhalte anzuzeigen, oder das Anzeigen des Inhalts, der aus einer Elementbox in den umgebenden Bereich fließt, sowie deren Kombinationen.
Bei der Verwendung der verschiedenen Schlüsselwörter für overflow
sollten folgende Nuancen beachtet werden:
- Das Festlegen eines anderen Wertes als
visible
(der Standard) oderclip
füroverflow
erstellt einen neuen Blockformatierungskontext. Dies ist aus technischen Gründen erforderlich; wenn ein Float ein scrollendes Element schneidet, würde es dazu führen, dass der Inhalt bei jedem Scrollschritt neu umbrochen wird, was zu einem langsamen Scrollverhalten führt. - Damit eine
overflow
-Einstellung die gewünschte Wirkung erzielt, muss das Blockelement entweder eine festgelegte Höhe (height
odermax-height
) haben, wenn der Überlauf in der vertikalen Richtung erfolgt, eine festgelegte Breite (width
odermax-width
) haben, wenn der Überlauf in der horizontalen Richtung erfolgt, eine festgelegte Blockgröße (block-size
odermax-block-size
) haben, wenn der Überlauf in der Blockrichtung erfolgt, oder eine festgelegte Inlinegröße (inline-size
odermax-inline-size
) oderwhite-space
aufnowrap
gesetzt sein, wenn der Überlauf in der Inlinerichtung erfolgt. - Das Festlegen von
overflow
aufvisible
in einer Richtung (d.h.overflow-x
oderoverflow-y
), wenn es nicht aufvisible
oderclip
in der anderen Richtung gesetzt ist, führt dazu, dass dervisible
-Wert sich wieauto
verhält. - Das Festlegen von
overflow
aufclip
in einer Richtung, wenn es nicht aufvisible
oderclip
in der anderen Richtung gesetzt ist, führt dazu, dass derclip
-Wert sich wiehidden
verhält. - Die JavaScript-Eigenschaft
Element.scrollTop
kann verwendet werden, um durch Inhalte in einem Scrollcontainer zu scrollen, außer wennoverflow
aufclip
gesetzt ist.
Formale Definition
Anfangswert | visible |
---|---|
Anwendbar auf | Block-containers, flex containers, and grid containers |
Vererbt | Nein |
Berechneter Wert | wie die jeweiligen Kurzschreibweisen:
|
Animationstyp | diskret |
Formale Syntax
Barrierefreiheit
Ein scrollbarer Inhaltsbereich ist nicht mit der Tastatur fokussierbar, sodass er von einem reinen Tastaturbenutzer nicht gescrollt werden kann. Firefox und Chrome 132 und später sind Ausnahmen; sie machen Scrollcontainer standardmäßig fokussierbar.
Für andere Browser müssen Sie, um reinen Tastaturbenutzern das Scrollen des Containers zu ermöglichen, dem Container ein tabindex
zuweisen, indem Sie tabindex="0"
verwenden. Leider hat ein Screenreader möglicherweise keinen Kontext, wenn er auf diesen Tabulatorstopp trifft, und könnte den gesamten Inhalt des Containers ankündigen. Um dies abzumildern, geben Sie dem Container eine passende WAI-ARIA-Rolle (z. B. role="region"
) und einen zugänglichen Namen (via aria-label
oder aria-labelledby
).
Beispiele
Demonstration der Ergebnisse verschiedener overflow-Schlüsselwörter
HTML
<div>
<code>visible</code>
<p class="visible">
Maya Angelou: "I've learned that people will forget what you said, people
will forget what you did, but people will never forget how you made them
feel."
</p>
</div>
<div>
<code>hidden</code>
<p class="hidden">
Maya Angelou: "I've learned that people will forget what you said, people
will forget what you did, but people will never forget how you made them
feel."
</p>
</div>
<div>
<code>clip</code>
<p class="clip">
Maya Angelou: "I've learned that people will forget what you said, people
will forget what you did, but people will never forget how you made them
feel."
</p>
</div>
<div>
<code>scroll</code>
<p class="scroll">
Maya Angelou: "I've learned that people will forget what you said, people
will forget what you did, but people will never forget how you made them
feel."
</p>
</div>
<div>
<code>auto</code>
<p class="auto">
Maya Angelou: "I've learned that people will forget what you said, people
will forget what you did, but people will never forget how you made them
feel."
</p>
</div>
<div>
<code>overlay</code>
<p class="overlay">
Maya Angelou: "I've learned that people will forget what you said, people
will forget what you did, but people will never forget how you made them
feel."
</p>
</div>
CSS
p.visible {
overflow: visible;
}
p.hidden {
overflow: hidden;
}
p.clip {
overflow: clip;
overflow-clip-margin: 1em;
}
p.scroll {
overflow: scroll;
}
p.auto {
overflow: auto;
}
p.overlay {
overflow: overlay;
}
Ergebnis
Spezifikationen
Specification |
---|
CSS Overflow Module Level 3 # propdef-overflow |
Scalable Vector Graphics (SVG) 2 # OverflowAndClipProperties |
Browser-Kompatibilität
Siehe auch
overflow-x
,overflow-y
overflow-block
,overflow-clip-margin
,overflow-inline
clip
,display
,text-overflow
,white-space
- SVG
overflow
Attribut - CSS overflow Modul
- Tastaturkurse für Scrollbereiche auf adrianroselli.com (2022)