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
JSON naar PHP-array
Zet JSON om naar een PHP-array-literal met korte syntaxis, associatieve/geïndexeerde arrays en geneste structuren, klaar om in een .php-bestand te plakken.
Luhn-algoritme-checker
Controleer de creditcardnummer, IMEI, SIN en andere door Luhn beschermden nummers. Geef een resultaat terug (goed of fout) en toon elke stap van het verdubbelen en het berekenen van de controlesom aan.
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.
Telefoonnummers controleren
Controleer de structuur van telefoonnummers per land en bekijk regio, type en E.164-, internationale, nationale en RFC 3966-notatie.
SVG-golfgenerator
Genereer een vloeiende SVG-golfscheiding voor headers en footers met instelbare amplitude, frequentie, kleur en positie boven of onder. Kopieer de SVG-code.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
Tool beschikbaar in andere talen
- Generador de barra de desplazamiento CSS [ES]
- Trình tạo thanh cuộn CSS [VI]
- CSS 스크롤바 생성기 [KO]
- Generator Bilah Gulir CSS [ID]
- Generator paska przewijania CSS [PL]
- Générateur de barre de défilement CSS [FR]
- Gerador de barra de rolagem CSS [PT]
- CSS-Scrollbar-Generator [DE]
- مولّد شريط التمرير CSS [AR]
- CSSスクロールバージェネレーター [JA]
- CSS-generator för rullningslist [SV]
- เครื่องสร้างแถบเลื่อน CSS [TH]
- CSS Scrollbar Generator [EN]
- Generatore di barre di scorrimento CSS [IT]
- Генератор CSS-скроллбара [RU]
- CSS Kaydırma Çubuğu Oluşturucu [TR]
- CSS滚动条生成器 [ZH]