1. Web
  2. CSS
  3. Guides
  4. Overflow

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

CSS overflow

Die Eigenschaften des CSS overflow-Moduls ermöglichen es Ihnen, scrollbareren Überlauf in visuellen Medien zu verwalten.

Ein Überlauf tritt auf, wenn der Inhalt eines Elementkastens über eine oder mehrere Kanten des Kastens hinausgeht. Scrollbarer Überlauf ist der Inhalt, der außerhalb des Elementkastens erscheint, für den Sie möglicherweise einen Scroll-Mechanismus hinzufügen möchten. Mit den CSS-Overflow-Eigenschaften können Sie steuern, was passiert, wenn der Inhalt einen Elementkasten überläuft, einschließlich der Erstellung von Karussells ohne JavaScript.

Malereffekte, die den Inhalt überlaufen, aber nicht am CSS-Box-Modell teilnehmen, wirken sich nicht auf das Layout aus. Diese Art von Überlauf wird auch als Tintenüberlauf bezeichnet. Beispiele für Tintenüberläufe sind Box-Schattierungen, Rahmenbilder, Textdekorationen, überhängende Glyphen und Umrisse. Tintenüberläufe erweitern die scrollbarere Überlaufregion nicht.

Überlauf in Aktion

Probieren Sie das folgende Beispiel aus, um die Auswirkungen der verschiedenen overflow-Eigenschaftswerte auf den Überlauf des Inhalts und die Scrollbars im benachbarten, fest dimensionierten Kasten zu sehen.

Das Beispiel enthält Optionen zum Ändern der Werte für die Eigenschaften overflow-clip-margin und width sowie zum programmatischen Scrollen des Inhalts, wenn die Overflow-Eigenschaft einen Scroll-Container erstellt. Wählen Sie overflow: clip und sehen Sie die Auswirkungen verschiedener overflow-clip-margin-Werte. Wählen Sie overflow: hidden oder overflow: scroll, um die verschiedenen Einstellungen der ScrollLeft- und ScrollTop-Schieberegler zu überprüfen.

<article>
 <fieldset>
 <legend>Select options:</legend>
 <label
 ><code>overflow</code>:
 <select id="overflowValue">
 <option>hidden</option>
 <option>clip</option>
 <option>scroll</option>
 <option>auto</option>
 <option selected>visible</option>
 <option>overlay</option>
 </select>
 </label>
 <label>
 <code>overflow-clip-margin</code>:
 <input type="number" id="ocm" value="1" min="0" max="10" />
 <code>em</code>
 </label>
 <label
 ><input type="checkbox" id="wide" /> <code>width</code>:
 <code>20em</code> or <code>40em</code></label
 >
 <fieldset>
 <legend>Scroll programmatically:</legend>
 <label
 >ScrollLeft:
 <input type="range" min="0" max="100" value="0" id="scrollL"
 /></label>
 <label
 >ScrollTop:
 <input type="range" min="0" max="100" value="0" id="scrollT"
 /></label>
 </fieldset>
 </fieldset>
 <pre class="visible">&nbsp;
 Oh, Rubber Duckie, you're the one
 You make bath time lots of fun
 Rubber Duckie, I'm awfully fond of you
 Rubber Duckie, joy of joys
 When I squeeze you, you make noise
 Rubber Duckie, you're my very best friend, it's true
 Oh, every day when I make my way to the tubby
 I find a little fella who's cute and yellow and chubby
 Rub-a-dub-dubby
 <a href="#">Rubber Duckie</a>, you're so fine
 And I'm lucky that you're mine
 Rubber Duckie, I'm awfully fond of you
 </pre>
</article>
article {
 display: flex;
 gap: 1em;
}
label {
 display: block;
 white-space: nowrap;
}
pre {
 border: 2px dashed crimson;
 height: 150px;
 width: 20em;
 margin-bottom: 3em;
 overflow-clip-margin: 1em;
 text-align: center;
}
.wide {
 width: 40em;
}
::before {
 font-weight: bold;
 color: white;
 background: crimson;
 display: inline-block;
 min-width: 50%;
 padding: 3px 5px;
 box-sizing: border-box;
}
.hidden {
 overflow: hidden;
}
.hidden::before {
 content: "hidden: ";
}
.clip {
 overflow: clip;
}
.clip::before {
 content: "clip: ";
}
.scroll {
 overflow: scroll;
}
.scroll::before {
 content: "scroll: ";
}
.auto {
 overflow: auto;
}
.auto::before {
 content: "auto: ";
}
.overlay {
 overflow: clip;
 overflow: overlay;
}
.overlay::before {
 content: "overlay (or clip if not supported): ";
}
.visible {
 overflow: visible;
}
.visible::before {
 content: "visible: ";
}
article:not(:has(pre.clip)) > fieldset > label:nth-of-type(2),
article:not(:has(pre.hidden, pre.scroll, pre.auto, pre.overlay))
 fieldset
 fieldset {
 opacity: 20%;
 pointer-events: none;
}
const pre = document.querySelector("pre");
const val = document.getElementById("overflowValue");
const check = document.getElementById("wide");
const ocm = document.getElementById("ocm");
const scrollL = document.getElementById("scrollL");
const scrollT = document.getElementById("scrollT");
val.addEventListener("change", () => {
 if (pre.classList.contains("wide")) {
 pre.className = `wide ${val.value}`;
 } else {
 pre.className = `${val.value}`;
 }
 scrollExample();
 clipMargin();
});
wide.addEventListener("change", () => {
 pre.classList.toggle("wide");
 scrollExample();
});
ocm.addEventListener("change", () => {
 clipMargin();
});
scrollL.addEventListener("change", () => {
 scrollExample();
});
scrollT.addEventListener("change", () => {
 scrollExample();
});
function scrollExample() {
 pre.scrollTo({
 top: scrollT.value,
 left: scrollL.value * 2,
 behavior: "smooth",
 });
}
function clipMargin() {
 pre.style.overflowClipMargin = `${ocm.value}em`;
}

Ein Link ist im Inhaltskasten oben enthalten, um die Auswirkungen des Tastaturfokus auf Überlauf und Scrollverhalten zu demonstrieren. Versuchen Sie, zur Verknüpfung zu navigieren oder den Inhalt programmgesteuert zu scrollen: Der Inhalt wird nur scrollen, wenn der enumerierte <overflow>-Wert einen Scroll-Container erstellt.

Referenz

Eigenschaften

Das CSS overflow Stufe 4 Modul führt auch die Eigenschaften block-ellipsis, continue, max-lines, overflow-clip-margin-block, overflow-clip-margin-block-end, overflow-clip-margin-block-start, overflow-clip-margin-bottom, overflow-clip-margin-inline, overflow-clip-margin-inline-end, overflow-clip-margin-inline-start, overflow-clip-margin-left, overflow-clip-margin-right und overflow-clip-margin-top ein. Derzeit unterstützen keine Browser diese Funktionen.

Selektoren und Pseudoelemente

Datentypen

Glossarbegriffe und Definitionen

Leitfäden

Lernen: Überlaufender Inhalt

Lernen Sie, was Überlauf ist und wie Sie ihn verwalten können.

Erstellen von CSS-Karussells

Erstellen Sie rein-CSS-Karussell-UI-Features mit Scroll-Tasten, Scroll-Markierungen und erzeugten Spalten.

Erstellen einer benannten Scroll-Progress-Zeitachsen-Animation

Die CSS-Scroll-Zeitachse scroll-timeline-name und scroll-timeline-axis Eigenschaften zusammen mit der scroll-timeline Shorthand erstellen Animationen, die mit dem Scroll-Offset eines Scroll-Containers verbunden sind.

Verwandte Konzepte

Spezifikationen

Specification
CSS Overflow Module Level 3
CSS Overflow Module Level 4
CSS Overflow Module Level 5

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

AltStyle によって変換されたページ (->オリジナル) /