overflow
Die overflow
CSS Shorthand-Eigenschaft legt das gewünschte Verhalten fest, wenn Inhalt nicht in den Randbereich eines Elements passt (überläuft) in horizontaler und/oder vertikaler Richtung.
Probieren Sie es aus
Bestandteileigenschaften
Diese Eigenschaft ist eine Kurzschrift 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, werden sowohl overflow-x
als auch overflow-y
auf denselben Wert gesetzt. 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 des Randbereichs des Elements sichtbar sein. Das Element-Box ist kein scroll container. Dies ist der Standardwert der
overflow
-Eigenschaft. -
Überlaufender Inhalt wird am Randbereich des Elements abgeschnitten. Es gibt keine Scrollbars, und der abgeschnittene Inhalt ist nicht sichtbar (d. h., abgeschnittener Inhalt ist versteckt), aber der Inhalt existiert weiterhin. User Agents fügen keine Scrollbars hinzu und erlauben Benutzern auch nicht, den Inhalt außerhalb des abgeschnittenen Bereichs durch Aktionen wie Ziehen auf einem Touchscreen oder Verwenden des Scrollrads auf einer Maus anzuzeigen. Der Inhalt kann programmatisch gescrollt werden (zum Beispiel durch Verlinkung zu Ankertext, Tabben zu einem versteckten, aber fokussierbaren Element oder indem der Wert der
scrollLeft
-Eigenschaft oder derscrollTo()
-Methode gesetzt wird), in diesem Fall ist das Element-Box ein Scroll-Container. clip
-
Überlaufender Inhalt wird am overflow clip edge des Elements abgeschnitten, das mit der
overflow-clip-margin
-Eigenschaft definiert wird. Infolgedessen überläuft der Inhalt die Randbox des Elements um den<length>
-Wert vonoverflow-clip-margin
oder um0px
, wenn er nicht gesetzt ist. Überlaufender Inhalt außerhalb des abgeschnittenen Bereichs ist nicht sichtbar, User Agents fügen keine Scrollbar hinzu und programmatisches Scrollen wird ebenfalls nicht unterstützt. Kein neuer Formatierungskontext wird erstellt. Um einen Formatierungskontext zu erstellen, verwenden Sieoverflow: clip
zusammen mitdisplay: flow-root
. Die Element-Box ist kein Scroll-Container. scroll
-
Überlaufender Inhalt wird am Randbereich des Elements abgeschnitten und Überlaufinhalt kann mit Scrollbars in den Sichtbereich gescrollt werden. User Agents zeigen Scrollbars an, unabhängig davon, ob Inhalt überläuft, sowohl in horizontaler als auch vertikaler Richtung, wenn der Wert in beiden Richtungen angewendet wird. Die Verwendung dieses Schlüsselworts kann daher verhindern, dass Scrollbars erscheinen und verschwinden, wenn sich der Inhalt ändert. Drucker können dennoch Überflussinhalt drucken. Die Element-Box ist ein Scroll-Container.
auto
-
Überlaufender Inhalt wird am Randbereich des Elements abgeschnitten und Überlaufinhalt kann mit Scrollbars in den Sichtbereich gescrollt werden. Im Gegensatz zu
scroll
zeigen User Agents Scrollbars nur an, wenn der Inhalt überläuft. Wenn der Inhalt in die Randbox des Elements passt, sieht es genauso aus wie mitvisible
, erstellt aber dennoch einen neuen Formatierungskontext. Die Element-Box ist ein Scroll-Container.
Hinweis:
Der Schlüsselwortwert overlay
ist ein veralteter Wertalias für auto
. Mit overlay
werden die Scrollbars über dem Inhalt gezeichnet, anstatt Platz einzunehmen.
Beschreibung
Überlaufoptionen umfassen das Verbergen von Überlaufinhalt, das Aktivieren von Scrollbars, um Überlaufinhalt anzuzeigen, oder das Anzeigen des Inhalts, das aus einer Element-Box in den umgebenden Bereich fließt, und Kombinationen davon.
Die folgenden Feinheiten sollten beachtet werden, während die verschiedenen Schlüsselwörter für overflow
verwendet werden:
- Die Angabe eines anderen Werts als
visible
(dem Standard) oderclip
füroverflow
erstellt einen neuen Block-Formatierungskontext. Dies ist aus technischen Gründen notwendig; wenn ein Float ein Scroll-Element schneidet, würde es den Inhalt nach jedem Scroll-Schritt neu umwickeln, was zu einem langsamen Scroll-Erlebnis führen würde. - Damit eine
overflow
-Einstellung die gewünschte Wirkung erzielt, muss das Block-Element entweder eine festgelegte Höhe (height
odermax-height
) aufweisen, wenn der Überlauf in der vertikalen Richtung erfolgt, eine festgelegte Breite (width
odermax-width
) bei horizontalem Überlauf, eine festgelegte Blockgröße ((block-size
odermax-block-size
) bei Block-Richtung-Überlauf, oder eine festgelegte Inline-Größe ((inline-size
odermax-inline-size
) oderwhite-space
aufnowrap
gesetzt bei Inline-Richtung-Überlauf. - Das Setzen von Overflow auf
visible
in einer Richtung (d. h.overflow-x
oderoverflow-y
), wenn es nicht aufvisible
oderclip
in der anderen Richtung gesetzt ist, führt dazu, dass sich dervisible
-Wert wieauto
verhält. - Das Setzen von Overflow auf
clip
in einer Richtung, wenn es nicht aufvisible
oderclip
in der anderen Richtung gesetzt ist, führt dazu, dass sich derclip
-Wert wiehidden
verhält. - Die JavaScript-Eigenschaft
Element.scrollTop
kann verwendet werden, um durch Inhalt in einem Scroll-Container zu scrollen, es sei denn,overflow
ist aufclip
gesetzt.
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 nur mit Tastatur bedienbaren Benutzer gescrollt werden, mit Ausnahme von Benutzern auf Firefox (die den Container standardmäßig tastaturfokussierbar machen).
Als Entwickler, um auch nicht-Firefox-Nur-Tastatur-Benutzern das Scrollen des Containers zu ermöglichen, müssen Sie ihm einen tabindex
mit tabindex="0"
zuweisen. Leider hat ein Screenreader, wenn er auf diesen Tab-Stopp stößt, keinen Kontext für das, was es ist, und ihr Screenreader wird wahrscheinlich den gesamten Inhalt ankündigen. Ihm eine passende WAI-ARIA-Rolle (role="region"
, zum Beispiel) und einen zugänglichen Namen (über aria-label
oder aria-labelledby
) zu geben, kann dies mildern.
Beispiele
Demonstration der Ergebnisse verschiedener Überlauf-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
- Keyboard-only scrolling areas auf adrianroselli.com (2022)