CSS-schuifbalkgenerator
Aangepaste schuifbalken waren vroeger een nachtmerrie van pseudo-elementen met leveranciersprefixen. Tegenwoordig dekken scrollbar-color en scrollbar-width de gangbare gevallen in alle moderne browsers: smalle of normale breedte en een tweekleurig thema (schuifknop en baan). Voor pixelnauwkeurige controle (opvulling van de baan, straal van de schuifknop, hover-toestanden) werken de oudere ::-webkit-scrollbar-pseudo-elementen nog steeds in Chrome en Safari. Deze generator geeft beide varianten uit en cascadeert ze correct.
Hoe je een schuifbalk vormgeeft
-
1
Kies de breedte
Auto (standaard platformbreedte), dun (smaller) of een specifieke pixelwaarde via de webkit-regels.
-
2
Stel de kleuren van schuifknop en baan in
De moderne `scrollbar-color` neemt twee kleuren. De webkit-regels bieden aparte kleur, straal en hover-toestanden.
-
3
Voeg een hover-effect toe (optioneel)
De schuifknop wordt lichter bij hover. Werkt via `::-webkit-scrollbar-thumb:hover`.
-
4
Bepaal het bereik
Pas toe op `html` / `body` (hele pagina) of alleen op een specifieke schuifbare container.
-
5
Kopieer de CSS
Gecombineerde moderne en webkit-regels: werkt in elke moderne browser met een nette terugval.
Moderne standaardeigenschappen (2023 en later)
/* Applies to the element that scrolls */
html {
scrollbar-width: thin; /* auto | thin | none */
scrollbar-color: #4f46e5 #e5e7eb; /* thumb track */
}
Browserondersteuning (2024):
scrollbar-width: Chrome 121+, Safari 18.2+, Firefox 64+.scrollbar-color: Chrome 121+, Safari 18.2+, Firefox 64+.scrollbar-gutter: stable: Chrome 94+, Safari 14+, Firefox 97+. Reserveert de ruimte voor de schuifbalk ook wanneer die niet nodig is en voorkomt zo layoutverschuiving.
Webkit-pseudo-elementen (Chrome, Safari, oudere Edge)
::-webkit-scrollbar {
width: 10px;
height: 10px;
}
::-webkit-scrollbar-track {
background: #e5e7eb;
border-radius: 10px;
}
::-webkit-scrollbar-thumb {
background: #4f46e5;
border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
background: #3730a3;
}
Fijnere controle. width stelt de breedte van de verticale schuifbalk in; height stelt de hoogte van de horizontale in. Voeg beide toe voor containers die in beide richtingen kunnen scrollen.
Cascadeer de twee benaderingen
Geef eerst de moderne regels op en daarna webkit als verbetering voor browsers die beide weergeven:
.scroll-area {
scrollbar-width: thin;
scrollbar-color: #4f46e5 #e5e7eb;
}
.scroll-area::-webkit-scrollbar { width: 8px; }
.scroll-area::-webkit-scrollbar-track { background: #e5e7eb; }
.scroll-area::-webkit-scrollbar-thumb {
background: #4f46e5;
border-radius: 4px;
border: 2px solid #e5e7eb;
}
Firefox volgt alleen de moderne scrollbar-*-regels. Chrome en Safari volgen de webkit-regels (die de moderne overschrijven, zodat het gedrag consistent blijft).
scrollbar-gutter voorkomt verschuiving van inhoud
Zonder gereserveerde ruimte herschikt de inhoud zich wanneer een schuifbalk verschijnt (gebruikelijk bij dynamische lijsten). Oplossing:
html { scrollbar-gutter: stable; }
/* or */
html { scrollbar-gutter: stable both-edges; }
De plek van de schuifbalk wordt gereserveerd, of de inhoud nu scrollt of niet. both-edges voegt aan de tegenoverliggende kant een gelijke ruimte toe zodat de inhoud visueel gecentreerd blijft.
Schuifbalken volledig verbergen
.no-scrollbar {
scrollbar-width: none; /* Firefox */
}
.no-scrollbar::-webkit-scrollbar { display: none; } /* Chrome, Safari */
Wees voorzichtig: door de schuifbalk te verbergen zien gebruikers niet meer dat de inhoud scrollbaar is. Gebruik dit alleen met een duidelijke indicator (pijlen, paginastippen) of wanneer het scrollgedrag duidelijk is uit de context (horizontale carrousels, chatgeschiedenissen).
Aandachtspunten voor mobiel
Op iOS en Android verschijnen schuifbalken alleen kort tijdens het scrollen. Je aangepaste schuifbalk-CSS wordt nog steeds toegepast, maar gebruikers zien die misschien nooit langer dan een seconde. Ontwerp daarnaar: investeer niet te veel in visuele franje die zelden zichtbaar is.
Toegankelijkheid
- Contrast: de schuifknop ten opzichte van de baan moet 3:1 halen voor niet-tekstueel contrast (WCAG 1.4.11).
- Breedte: dunne schuifbalken kunnen moeilijk met de muis te pakken zijn, vooral voor gebruikers met motorische beperkingen. Een normale breedte is een veiligere standaard.
- Verwijder de schuifbalk nooit in schuifbare gebieden zonder een andere manier van scrollen aan te bieden. Gebruikers die afhankelijk zijn van de schuifbalk lopen anders vast.
Veelgestelde vragen
Ja, met de moderne eigenschappen scrollbar-width en scrollbar-color. Firefox ondersteunt de webkit-pseudo-elementen niet, dus gebruik voor een consistent uiterlijk in alle browsers eerst de moderne eigenschappen en voeg de webkit-regels toe als verbetering.
Omdat standaard schuifbalken over de inhoud heen liggen en pas ruimte reserveren wanneer dat nodig is. Stel scrollbar-gutter: stable in op het schuifbare element om de ruimte altijd te reserveren, zodat herschikking wordt voorkomen wanneer de schuifbalk verschijnt of verdwijnt.
Meestal wel, want de schuifbalk oogt misplaatst en concurreert met de inhoud. Voeg zichtbare paginastippen of pijlbesturing toe zodat gebruikers blijven zien dat de inhoud scrollt. Respecteer prefers-reduced-motion als je scroll-snapping gebruikt.
Dat kan. Zeer dunne of contrastarme schuifbalken zijn lastig te gebruiken voor mensen met motorische beperkingen en slechtzienden. Houd de schuifbalk minstens 8–10 px breed voor een comfortabele grip en behoud een contrast van 3:1 tussen de schuifknop en de baan.
Gerelateerde tools
ASCII-tabelreferentie
Volledige ASCII-tabel van 0 tot 127 met decimale, hexadecimale, octale en binaire waarden en HTML-numerieke referentienotatie, inclusief control codes zoals NUL, LF en DEL.
HTML-tekenreferentie
Een doorzoekbare lijst met HTML-entiteiten, hun benoemde en numerieke codes, plus kopiëren met één klik voor speciale tekens en symbolen.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
HAR-bestandsviewer
Open HAR-netwerkopnamen lokaal, filter verzoeken, bekijk gemaskeerde headers en timing en exporteer opgeschoonde samenvattingen zonder upload.
ASCII naar binair-converter
Converteer elke ASCII-string naar zijn binaire representatie. Elk teken wordt acht bits, gescheiden door spaties, klaar voor protocoltrace of huiswerk.
Telefoonnummers controleren
Controleer de structuur van telefoonnummers per land en bekijk regio, type en E.164-, internationale, nationale en RFC 3966-notatie.
Tool beschikbaar in andere talen
- CSS Kaydırma Çubuğu Oluşturucu [TR]
- Generador de barra de desplazamiento CSS [ES]
- مولّد شريط التمرير CSS [AR]
- Générateur de barre de défilement CSS [FR]
- CSS 스크롤바 생성기 [KO]
- Generator Bilah Gulir CSS [ID]
- CSS Scrollbar Generator [EN]
- Trình tạo thanh cuộn CSS [VI]
- CSS滚动条生成器 [ZH]
- CSSスクロールバージェネレーター [JA]
- เครื่องสร้างแถบเลื่อน CSS [TH]
- Gerador de barra de rolagem CSS [PT]
- CSS-Scrollbar-Generator [DE]
- CSS-generator för rullningslist [SV]
- Generator paska przewijania CSS [PL]
- Generatore di barre di scorrimento CSS [IT]
- Генератор CSS-скроллбара [RU]