overflow
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2020.
Please take two minutes to fill out our short survey.
Die overflow
CSS Kurzschreibweise legt das gewünschte Verhalten fest, wenn Inhalte nicht in die Rahmenbox des Elements passen (also überlaufen) und das sowohl in horizontaler als auch in vertikaler Richtung.
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;
}
Bestandteile der Eigenschaften
Diese Eigenschaft ist eine Kurzform 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, erhalten sowohl overflow-x
als auch overflow-y
denselben Wert. Wenn zwei Schlüsselwörter angegeben werden, gilt der erste Wert für overflow-x
in der horizontalen Richtung und der zweite für overflow-y
in der vertikalen Richtung.
Werte
visible
-
Überlaufender Inhalt wird nicht abgeschnitten und kann außerhalb der Rahmenbox des Elements sichtbar sein. Die Elementbox ist kein Scroll-Container. Dies ist der Standardwert der
overflow
-Eigenschaft. -
Überlaufender Inhalt wird an der Rahmenbox des Elements abgeschnitten. Es gibt keine Scrollbalken, und der abgeschnittene Inhalt ist nicht sichtbar (d.h. der abgeschnittene Inhalt ist verborgen), aber der Inhalt existiert weiterhin. Benutzeragenten fügen keine Scrollbalken hinzu und erlauben es den Benutzern auch nicht, den Inhalt außerhalb des abgeschnittenen Bereichs durch Aktionen wie Ziehen auf einem Touchscreen oder Verwenden des Scrollrads einer Maus anzuzeigen. Der Inhalt kann programmatisch gescrollt werden (zum Beispiel durch Verlinken auf Ankertext, durch Tabwechsel zu einem verborgenen, aber fokussierbaren Element oder durch Setzen des Werts der
scrollLeft
Eigenschaft oder der MethodescrollTo()
), wobei die Elementbox ein Scroll-Container ist. clip
-
Überlaufender Inhalt wird an der Überlauf-Abschneidekante des Elements abgeschnitten, die mit der Eigenschaft
overflow-clip-margin
definiert wird. Dadurch ragt der Inhalt außerhalb der Rahmenbox des Elements um den<length>
-Wert vonoverflow-clip-margin
oder um0px
, wenn nicht gesetzt, hervor. Überlaufender Inhalt außerhalb des abgeschnittenen Bereichs ist nicht sichtbar, Benutzeragenten fügen keinen Scrollbalken hinzu, und auch das programmatische Scrollen wird nicht unterstützt. Es wird kein neues Formatierungskontext erstellt. Um einen Formatierungskontext zu etablieren, verwenden Sieoverflow: clip
zusammen mitdisplay: flow-root
. Die Elementbox ist kein Scroll-Container. scroll
-
Überlaufender Inhalt wird an der Rahmenbox des Elements abgeschnitten, und der überlaufende Inhalt kann mit Scrollbalken in den Ansichtsbereich gescrollt werden. Benutzeragenten zeigen Scrollbalken an, unabhängig davon, ob Inhalt überläuft oder nicht, also sowohl in horizontaler als auch in vertikaler Richtung, wenn der Wert in beide Richtungen angewendet wird. Die Verwendung dieses Schlüsselworts kann daher verhindern, dass Scrollbalken erscheinen und verschwinden, während sich der Inhalt ändert. Drucker können weiterhin überlaufenden Inhalt drucken. Die Elementbox ist ein Scroll-Container.
auto
-
Überlaufender Inhalt wird an der Rahmenbox des Elements abgeschnitten, und der überlaufende Inhalt kann mit Scrollbalken in den Ansichtsbereich gescrollt werden. Im Gegensatz zu
scroll
zeigen Benutzeragenten die Scrollbalken nur dann an, wenn der Inhalt überläuft. Wenn der Inhalt in die Rahmenbox des Elements passt, sieht es genauso aus wie beivisible
, erstellt jedoch immer noch einen neuen Formatierungskontext. Die Elementbox ist ein Scroll-Container.
Hinweis:
Der Schlüsselwortwert overlay
ist ein veraltetes Alias für auto
. Bei Verwendung von overlay
werden Scrollbalken über dem Inhalt gezeichnet, anstatt Platz zu beanspruchen.
Beschreibung
Überlaufoptionen umfassen das Verbergen von überlaufendem Inhalt, das Aktivieren von Scrollbalken zum Anzeigen von überlaufendem Inhalt oder das Anzeigen des in ein Elementkasten herausfließenden Inhalts in die umgebende Umgebung und Kombinationen davon.
Die folgenden Feinheiten sollten beachtet werden, wenn die verschiedenen Schlüsselwörter für overflow
verwendet werden:
- Die Angabe eines anderen Werts als
visible
(dem Standardwert) oderclip
füroverflow
erstellt einen neuen Block-Formatierungskontext. Dies ist aus technischen Gründen notwendig; wenn ein Floatelement mit einem Scrollelement interagiert, würde es den Inhalt nach jedem Scrollschritt zwangsweise umwickeln, was zu einem langsamen Scrollerlebnis führen würde. - Um den gewünschten Effekt zu erzielen, muss das Block-Element entweder eine festgelegte Höhe (
height
odermax-height
) für vertikalen Überlauf haben, eine festgelegte Breite (width
odermax-width
) für horizontalen Überlauf, eine festgelegte Blockgröße ((block-size
odermax-block-size
) für Überlauf in Blockrichtung oder eine festgelegte Inline-Größe ((inline-size
odermax-inline-size
) oderwhite-space
aufnowrap
setzen für Überlauf in Innlinierichtung. - Wenn overflow in einer Richtung auf
visible
gesetzt wird (d.h.overflow-x
oderoverflow-y
), während es in der anderen Richtung nicht aufvisible
oderclip
gesetzt ist, verhält sich dervisible
-Wert wieauto
. - Wenn overflow in einer Richtung auf
clip
gesetzt wird, während es in der anderen Richtung nicht aufvisible
oderclip
gesetzt ist, verhält sich derclip
-Wert wiehidden
. - Die JavaScript-Eigenschaft
Element.scrollTop
kann verwendet werden, um durch den Inhalt in einem Scroll-Container 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 kann von einem Benutzer, der nur die Tastatur verwendet, nicht gescrollt werden, mit Ausnahme von Benutzern auf Firefox (der den Container standardmäßig tastaturfokussierbar macht).
Als Entwickler müssen Sie, um das Scrollen des Containers für nicht Firefox-Keyboard-Only-Benutzer zu ermöglichen, diesem einen tabindex
mit tabindex="0"
zuweisen. Leider wird, wenn ein Screenreader auf diesen Tabstop stößt, der gesamte Inhalt angesagt, da der Screenreader keinen Kontext dafür hat. Eine geeignete WAI-ARIA-Rolle (role="region"
, zum Beispiel) und einen zugänglichen Namen (über aria-label
oder aria-labelledby
) zuweisen, kann dies mildern.
Beispiele
Ergebnisse von verschiedenen Overflow-Schlüsselwörtern zeigen
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
- Nur-Tastatur-Scrolling-Bereiche auf adrianroselli.com (2022)