overflow
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Die overflow CSS Kurzschreibweise legt das gewünschte Verhalten fest, wenn Inhalte nicht in die Auffüllungskiste eines Elements passen (überlaufen) und zwar 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;
}
Bestandteilende Eigenschaften
Diese Eigenschaft ist eine Kurzschreibweise für folgende 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 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 horizontaler Richtung und der zweite für overflow-y in vertikaler Richtung.
Werte
visible-
Überlaufende Inhalte werden nicht beschnitten und können außerhalb der Auffüllungskiste des Elements sichtbar sein. Die Elementkiste ist kein Scroll-Container. Dies ist der Standardwert der
overflow-Eigenschaft. -
Überlaufende Inhalte sind an der Auffüllungskiste des Elements beschnitten. Es gibt keine Rollbalken und die beschnittenen Inhalte sind nicht sichtbar (d.h. die beschnittenen Inhalte sind verborgen), aber die Inhalte existieren weiterhin. Benutzeragenten fügen keine Rollbalken hinzu und erlauben auch nicht, die Inhalte außerhalb des beschnittenen Bereichs durch Aktionen wie Ziehen auf einem Touchscreen oder Scrollen mit dem Mausrad anzuzeigen. Die Inhalte können programmatisch gescrollt werden (zum Beispiel durch Verlinken zu Ankertexten, durch Tabben zu einem verborgenen, aber fokussierbaren Element oder durch Festlegen des Werts der
scrollLeft-Eigenschaft oder derscrollTo()-Methode), in diesem Fall ist die Elementkiste ein Scroll-Container. clip-
Überlaufende Inhalte sind an der Überlauf-Schnittkante des Elements beschnitten, die mit der
overflow-clip-margin-Eigenschaft definiert wird. Infolgedessen überlaufen die Inhalte die Auffüllungskiste des Elements um den<length>Wert vonoverflow-clip-marginoder0px, wenn nicht gesetzt. Überlaufende Inhalte außerhalb des beschnittenen Bereichs sind nicht sichtbar, Benutzeragenten fügen keinen Rollbalken hinzu und programmatisches Scrollen wird ebenfalls nicht unterstützt. Es wird kein neuer Formatierungskontext erstellt. Um einen Formatierungskontext zu erstellen, verwenden Sieoverflow: clipzusammen mitdisplay: flow-root. Die Elementkiste ist kein Scroll-Container. scroll-
Überlaufende Inhalte sind an der Auffüllungskiste des Elements beschnitten, und überlaufende Inhalte können mithilfe von Rollbalken gescrollt werden. Benutzeragenten zeigen Rollbalken an, unabhängig davon, ob Inhalte überlaufen oder nicht, also in horizontaler und vertikaler Richtung, wenn der Wert in beiden Richtungen gilt. Die Verwendung dieses Schlüsselworts kann daher verhindern, dass Rollbalken beim Ändern von Inhalten ein- und ausgeblendet werden. Drucker können jedoch weiterhin überlaufende Inhalte drucken. Die Elementkiste ist ein Scroll-Container.
auto-
Überlaufende Inhalte sind an der Auffüllungskiste des Elements beschnitten, und überlaufende Inhalte können mithilfe von Rollbalken gescrollt werden. Anders als bei
scrollzeigen Benutzeragenten Rollbalken nur an, wenn die Inhalte überlaufen. Wenn die Inhalte in die Auffüllungskiste des Elements passen, sieht es genauso aus wie beivisible, erstellt jedoch weiterhin einen neuen Formatierungskontext. Die Elementkiste ist ein Scroll-Container.
Hinweis:
Der Schlüsselwort-Wert overlay ist ein veraltetes Wert-Alias für auto. Bei overlay werden die Rollbalken über den Inhalten gezeichnet, anstatt Platz einzunehmen.
Beschreibung
Überlaufoptionen umfassen das Verbergen von überlaufenden Inhalten, das Aktivieren von Rollbalken zur Anzeige von überlaufenden Inhalten oder das Anzeigen der Inhalte, die aus einer Elementkiste in den umgebenden Bereich fließen, sowie deren Kombinationen.
Die folgenden Feinheiten sollten beachtet werden, wenn die verschiedenen Schlüsselwörter für overflow verwendet werden:
- Das Angeben eines anderen Wertes als
visible(dem Standardwert) oderclipfüroverflowerstellt einen neuen Block-Formatierungskontext. Dies ist aus technischen Gründen notwendig; wenn ein Float ein scrollendes Element schneidet, würde es den Inhalt nach jedem Scroll-Schritt gewaltsam neu umwickeln, was zu einem langsamen Scroll-Erlebnis führt. - Damit eine
overflow-Einstellung die gewünschte Wirkung erzielt, muss das Block-Element entweder eine festgelegte Höhe (heightodermax-height) haben, wenn der Überlauf in vertikaler Richtung erfolgt; eine festgelegte Breite (widthodermax-width) wenn der Überlauf in horizontaler Richtung erfolgt; eine festgelegte Block-Größe ((block-sizeodermax-block-size) wenn der Überlauf in Blockrichtung erfolgt, oder eine festgelegte Inline-Größe ((inline-sizeodermax-inline-size) oderwhite-spaceaufnowrapgesetzt ist, wenn der Überlauf in Inline-Richtung erfolgt. - Das Festlegen von
overflowaufvisiblein eine Richtung (d.h.overflow-xoderoverflow-y), wenn es in der anderen Richtung nicht aufvisibleoderclipgesetzt ist, führt dazu, dass sich dervisible-Wert wieautoverhält. - Das Festlegen von
overflowaufclipin eine Richtung, wenn es in der anderen Richtung nicht aufvisibleoderclipgesetzt ist, führt dazu, dass sich derclip-Wert wiehiddenverhält. - Das JavaScript-Property
Element.scrollTopkann verwendet werden, um durch Inhalte in einem Scroll-Container zu scrollen, außer wennoverflowaufclipgesetzt 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
overflow =
<'overflow-block'>{1,2}
<overflow-block> =
visible |
hidden |
clip |
scroll |
auto
Barrierefreiheit
Ein scrollbarer Inhaltsbereich ist nicht tastaturfokussierbar, sodass ein Benutzer ihn nicht nur mit der Tastatur scrollen kann. Firefox und Chrome 132 und höher sind Ausnahmen; sie machen Scroll-Container standardmäßig fokussierbar.
Für andere Browser müssen Sie, um Tastaturbenutzer zu ermöglichen, den Container zu scrollen, dem Container einen tabindex mit tabindex="0" zuweisen. Leider kann es sein, dass ein Bildschirmlesegerät bei Erreichen dieses Tab-Stops keinen Kontext über den Container hat und möglicherweise den gesamten Inhalt des Containers ansagt. Um dies zu mildern, geben Sie dem Container eine passende WAI-ARIA Rolle (zum Beispiel role="region") und einen zugänglichen Namen (mittels aria-label oder aria-labelledby).
Beispiele
>Ergebnisse verschiedener Overflow-Schlüsselwörter demonstrieren
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-yoverflow-block,overflow-clip-margin,overflow-inlineclip,display,text-overflow,white-space- SVG
overflowAttribut - CSS Overflow-Modul
- Nur-Tastatur-Scrollbereiche auf adrianroselli.com (2022)