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

View in English Always switch to English

::-webkit-scrollbar

Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.

Das CSS-Pseudoelement ::-webkit-scrollbar beeinflusst den Stil der Scrollleiste eines Elements, wenn es überlaufendes Scrollen besitzt.

Die standardmäßigen Eigenschaften scrollbar-color und scrollbar-width können als Alternativen für Browser verwendet werden, die dieses Pseudoelement und die verwandten Pseudoelemente ::-webkit-scrollbar-* nicht unterstützen (siehe Browser-Kompatibilität).

Hinweis: Wenn scrollbar-color und scrollbar-width unterstützt werden und einen anderen Wert als auto haben, überschreiben sie das Styling von ::-webkit-scrollbar-*. Siehe Hinzufügen eines Fallbacks für Scrollleistenstile für weitere Details.

CSS-Scrollleisten-Selektoren

Sie können die folgenden Pseudoelemente verwenden, um verschiedene Teile der Scrollleiste für WebKit-Browser anzupassen:

  • ::-webkit-scrollbar — die gesamte Scrollleiste.
  • ::-webkit-scrollbar-button — die Schaltflächen auf der Scrollleiste (Pfeile, die nach oben und unten zeigen und eine Zeile nach oben oder unten scrollen).
  • ::-webkit-scrollbar:horizontal — die horizontale Scrollleiste.
  • ::-webkit-scrollbar-thumb — der verschiebbare Scrollgriff.
  • ::-webkit-scrollbar-track — die Schiene (Fortschrittsbalken) der Scrollleiste, wo es eine graue Leiste auf einer weißen Leiste gibt.
  • ::-webkit-scrollbar-track-piece — der Teil der Schiene (Fortschrittsbalken), der nicht vom Griff abgedeckt ist.
  • ::-webkit-scrollbar:vertical — die vertikale Scrollleiste.
  • ::-webkit-scrollbar-corner — die untere Ecke der Scrollleiste, wo sich horizontale und vertikale Scrollleisten treffen. Dies ist oft die untere rechte Ecke des Browserfensters.
  • ::-webkit-resizer — der verschiebbare Größenanpassungsgriff, der in der unteren Ecke einiger Elemente erscheint.

Barrierefreiheit

Autoren sollten vermeiden, Scrollleisten zu stylen, da das Ändern des Erscheinungsbildes von Scrollleisten weg vom Standard die externe Konsistenz verletzt, was sich negativ auf die Benutzerfreundlichkeit auswirkt. Wenn Sie Scrollleisten stylen, stellen Sie sicher, dass ein ausreichender Farbkontrast vorhanden ist und dass die Berührungsziele mindestens 44px breit und hoch sind. Siehe Techniken für WCAG 2.0: G183: Verwendung eines Kontrastverhältnisses von 3:1 und Verständnis von WCAG 2.1 : Zielgröße.

Beispiele

Scrollleisten mit -webkit-scrollbar stylen

CSS

css
.visible-scrollbar,
.invisible-scrollbar,
.mostly-customized-scrollbar {
  display: block;
  width: 10em;
  overflow: auto;
  height: 2em;
  padding: 1em;
  margin: 1em auto;
  outline: 2px dashed cornflowerblue;
}

.invisible-scrollbar::-webkit-scrollbar {
  display: none;
}

/* Demonstrate a "mostly customized" scrollbar
 * (won't be visible otherwise if width/height is specified) */
.mostly-customized-scrollbar::-webkit-scrollbar {
  width: 5px;
  height: 8px;
  background-color: #aaaaaa; /* or add it to the track */
}

/* Add a thumb */
.mostly-customized-scrollbar::-webkit-scrollbar-thumb {
  background: black;
}

HTML

html
<div class="visible-scrollbar">
  <h3>Visible scrollbar</h3>
  <p>
    Etiam sagittis sem sed lacus laoreet, eu fermentum eros auctor. Proin at
    nulla elementum, consectetur ex eget, commodo ante. Sed eros mi, bibendum ut
    dignissim et, maximus eget nibh. Phasellus blandit quam turpis, at mollis
    velit pretium ut. Nunc consequat efficitur ultrices. Nullam hendrerit
    posuere est. Nulla libero sapien, egestas ac felis porta, cursus ultricies
    quam. Vestibulum tincidunt accumsan sapien, a fringilla dui semper in.
    Vivamus consectetur ipsum a ornare blandit. Aenean tempus at lorem sit amet
    faucibus. Curabitur nibh justo, faucibus sed velit cursus, mattis cursus
    dolor. Pellentesque id pretium est. Quisque convallis nisi a diam malesuada
    mollis. Aliquam at enim ligula.
  </p>
</div>

<div class="invisible-scrollbar">
  <h3>Invisible scrollbar</h3>
  <p>
    Thisisaveeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerylongword
  </p>
</div>

<div class="mostly-customized-scrollbar">
  <h3>Custom scrollbar</h3>
  <p>
    Thisisaveeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeerylongword<br />
    And pretty tall<br />
    thing with weird scrollbars.<br />
    Who thought scrollbars could be made weird?
  </p>
</div>

Ergebnis

Hinzufügen eines Fallbacks für Scrollleistenstile

Sie können eine @supports At-Regel verwenden, um zu erkennen, ob ein Browser die standardmäßigen Eigenschaften scrollbar-color und scrollbar-width unterstützt, und andernfalls ein Fallback mit ::-webkit-scrollbar-* Pseudoelementen verwenden. Das folgende Beispiel zeigt, wie Farben auf Scrollleisten angewendet werden, indem scrollbar-color verwendet wird, wenn sie unterstützt wird, und ::-webkit-scrollbar-* Pseudoelemente, wenn nicht.

HTML

html
<div class="scroll-box">
  <h1>Yoshi</h1>
  <p>
    Yoshi is a fictional dinosaur who appears in video games published by
    Nintendo. Yoshi debuted in Super Mario World (1990) on the SNES as Mario and
    Luigi's sidekick.
  </p>
  <p>
    Throughout the mainline Super Mario series, Yoshi typically serves as
    Mario's trusted steed.
  </p>
  <p>
    With a gluttonous appetite, Yoshi can gobble enemies with his long tongue,
    and lay eggs that doubly function as projectiles.
  </p>
</div>

CSS

css
/* For browsers that support `scrollbar-*` properties */
@supports (scrollbar-color: auto) {
  .scroll-box {
    scrollbar-color: aquamarine cornflowerblue;
  }
}

/* Otherwise, use `::-webkit-scrollbar-*` pseudo-elements */
@supports selector(::-webkit-scrollbar) {
  .scroll-box::-webkit-scrollbar {
    background: aquamarine;
  }
  .scroll-box::-webkit-scrollbar-thumb {
    background: cornflowerblue;
  }
}

Ergebnis

Im folgenden Beispiel können Sie die umrandete Box vertikal scrollen, um die Wirkung der Gestaltung der Scrollleiste zu sehen.

Spezifikationen

Nicht Teil eines Standards.

Browser-Kompatibilität

css.selectors.-webkit-scrollbar

css.selectors.-webkit-scrollbar-button

css.selectors.-webkit-scrollbar-thumb

css.selectors.-webkit-scrollbar-track

css.selectors.-webkit-scrollbar-track-piece

css.selectors.-webkit-scrollbar-corner

css.selectors.-webkit-resizer

Siehe auch