overflow
Die overflow
CSS Kurzform-Eigenschaft legt das gewünschte Verhalten fest, wenn Inhalt nicht in den Padding-Bereich des Elements passt (überläuft) in horizontaler und/oder 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;
}
Bestands-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üsselwort-Werte angegeben. Wenn nur ein Schlüsselwort angegeben ist, werden sowohl overflow-x
als auch overflow-y
auf denselben Wert gesetzt. Wenn zwei Schlüsselwörter angegeben sind, gilt der erste Wert für overflow-x
in horizontaler Richtung und der zweite für overflow-y
in vertikaler Richtung.
Werte
visible
-
Überlaufender Inhalt wird nicht abgeschnitten und kann außerhalb des Padding-Bereichs des Elements sichtbar sein. Das Element-Box ist kein Scroll-Container. Dies ist der Standardwert der
overflow
-Eigenschaft. -
Überlaufender Inhalt wird an der Padding-Box des Elements abgeschnitten. Es gibt keine Scrollleisten und der abgeschnittene Inhalt ist nicht sichtbar (d.h. der Inhalt wird versteckt), aber der Inhalt existiert weiterhin. Benutzeragenten fügen keine Scrollleisten hinzu und erlauben den Benutzern auch nicht, den Inhalt außerhalb des abgeschnittenen Bereichs durch Aktionen wie Ziehen auf einem Touchscreen oder Verwenden des Scrollrads einer Maus zu betrachten. Der Inhalt kann programmgesteuert gescrollt werden (zum Beispiel durch Verlinken zu Ankertext, tabbing zu einem versteckten, aber fokussierbaren Element oder durch Setzen des Wertes der
scrollLeft
-Eigenschaft oder derscrollTo()
-Methode), in diesem Fall ist die Element-Box ein Scroll-Container. clip
-
Überlaufender Inhalt wird an der overflow clip edge des Elements abgeschnitten, die mit der
overflow-clip-margin
Eigenschaft definiert ist. Daraus ergibt sich, dass Inhalt die Padding-Box des Elements um den<length>
-Wert vonoverflow-clip-margin
oder um0px
, falls nicht gesetzt, überschreitet. Überlaufender Inhalt außerhalb des abgeschnittenen Bereichs ist nicht sichtbar, Benutzeragenten fügen keine Scrollleisten hinzu und programmgesteuertes Scrollen wird ebenfalls nicht unterstützt. Es wird kein neuer Formatierungs-Kontext erstellt. Um einen Formatierungskontext zu schaffen, verwenden Sieoverflow: clip
zusammen mitdisplay: flow-root
. Die Element-Box ist kein Scroll-Container. scroll
-
Überlaufender Inhalt wird an der Padding-Box des Elements abgeschnitten, und überlaufender Inhalt kann mit Scrollleisten in den Ansichtsbereich gescrollt werden. Benutzeragenten zeigen Scrollleisten, unabhängig davon, ob Inhalt überläuft oder nicht, also in den horizontalen und vertikalen Richtungen, wenn der Wert für beide Richtungen gilt. Die Verwendung dieses Schlüsselworts kann daher verhindern, dass Scrollleisten erscheinen und verschwinden, wenn sich der Inhalt ändert. Drucker können jedoch weiterhin überlaufenden Inhalt drucken. Die Element-Box ist ein Scroll-Container.
auto
-
Überlaufender Inhalt wird an der Padding-Box des Elements abgeschnitten, und überlaufender Inhalt kann mit Scrollleisten in den Ansichtsbereich gescrollt werden. Im Gegensatz zu
scroll
zeigen Benutzeragenten Scrollleisten nur dann an, wenn Inhalt überläuft. Wenn der Inhalt in den Padding-Bereich des Elements passt, sieht es aus wie beivisible
, stellt aber dennoch einen neuen Formatierungskontext her. Die Element-Box ist ein Scroll-Container.
Hinweis:
Der Schlüsselwortwert overlay
ist ein veralteter Wert-Alias für auto
. Mit overlay
werden die Scrollleisten über dem Inhalt gezeichnet, anstatt Platz einzunehmen.
Beschreibung
Überlaufoptionen umfassen das Verstecken von überlaufendem Inhalt, das Aktivieren von Scrollleisten, um überlaufenden Inhalt anzuzeigen, oder das Anzeigen des Inhalts, der aus einer Element-Box in den umgebenden Bereich fließt, sowie deren Kombinationen.
Die folgenden Nuancen sollten bei der Verwendung der verschiedenen Schlüsselwörter für overflow
beachtet werden:
- Die Angabe eines anderen Werts als
visible
(der Standard) oderclip
füroverflow
erstellt einen neuen Blockformatierungskontext. Dies ist aus technischen Gründen notwendig; wenn ein Float ein scrollendes Element schneidet, würde es den Inhalt bei jedem Scroll-Schritt zwangsweise neu umbrechen, was zu einem langsamen Scroll-Erlebnis führen würde. - Damit eine
overflow
-Einstellung die gewünschte Wirkung entfaltet, muss das Block-Element entweder eine festgelegte Höhe (height
odermax-height
) haben, wenn der Überlauf in vertikaler Richtung ist, eine festgelegte Breite (width
odermax-width
), wenn der Überlauf in horizontaler Richtung ist, eine festgelegte Blockgröße ((block-size
odermax-block-size
), wenn der Überlauf in Blockrichtung ist, oder eine festgelegte Inlinengröße ((inline-size
odermax-inline-size
) oderwhite-space
aufnowrap
gesetzt sein, wenn der Überlauf in Inlinerichtung ist. - Wenn
overflow
in einer Richtung (d. h.overflow-x
oderoverflow-y
) aufvisible
gesetzt wird, wenn es in der anderen Richtung nicht aufvisible
oderclip
gesetzt ist, verhält sich dervisible
-Wert wieauto
. - Wenn
overflow
in einer Richtung aufclip
gesetzt wird, wenn es in der anderen Richtung nicht aufvisible
oderclip
gesetzt ist, verhält sich derclip
-Wert wiehidden
. - Die JavaScript
Element.scrollTop
-Eigenschaft kann verwendet werden, um durch 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 nicht von einem user, der ausschließlich die Tastatur verwendet, gescrollt werden, mit der Ausnahme von Benutzern auf Firefox (das macht den Container standardmäßig tastaturfokussierbar).
Als Entwickler sollten Sie, um Tastaturbenutzern, die nicht Firefox verwenden, zu ermöglichen, den Container zu scrollen, ihm ein tabindex
mit tabindex="0"
geben. Leider haben Screenreader bei der Begegnung mit dieser Tabulatortaste keinen Kontext dafür, was es ist, und ihr Screenreader wird wahrscheinlich den gesamten Inhalt ansagen. Um dies zu mildern, können Sie ihm eine geeignete WAI-ARIA-Rolle (role="region"
, zum Beispiel) und einen zugänglichen Namen (über aria-label
oder aria-labelledby
) geben.
Beispiele
Darstellung 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
BCD tables only load in the browser
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
- Tastatur-exklusive Scroll-Bereiche auf adrianroselli.com (2022)