CSS-generator för rullningslist
Anpassade rullningslister var förr en mardröm av pseudoelement med leverantörsprefix. I dag hanterar scrollbar-color och scrollbar-width de vanliga fallen i alla moderna webbläsare: smal eller normal bredd och ett tvåfärgat tema (reglage och spår). För kontroll på pixelnivå (spårets utfyllnad, reglagets radie, hovertillstånd) fungerar de äldre pseudoelementen ::-webkit-scrollbar fortfarande i Chrome och Safari. Denna generator ger båda varianterna och kaskaderar dem korrekt.
Så formger du en rullningslist
-
1
Välj bredden
Auto (plattformens standardbredd), tunn (smalare) eller ett bestämt pixelvärde via webkit-reglerna.
-
2
Ange färger för reglage och spår
Moderna `scrollbar-color` tar två färger. Webkit-reglerna ger separat färg, radie och hovertillstånd.
-
3
Lägg till hovereffekt (valfritt)
Reglaget ljusnar vid hover. Fungerar via `::-webkit-scrollbar-thumb:hover`.
-
4
Bestäm omfattningen
Tillämpa på `html` / `body` (hela sidan) eller endast på en viss rullbar behållare.
-
5
Kopiera CSS
Kombinerade moderna och webkit-regler: fungerar i alla moderna webbläsare med snygg reservlösning.
Moderna standardegenskaper (2023 och senare)
/* Applies to the element that scrolls */
html {
scrollbar-width: thin; /* auto | thin | none */
scrollbar-color: #4f46e5 #e5e7eb; /* thumb track */
}
Webbläsarstöd (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+. Reserverar utrymmet för rullningslisten även när den inte behövs och förhindrar därmed layoutförskjutning.
Webkit-pseudoelement (Chrome, Safari, äldre 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;
}
Finare kontroll. width anger bredden på den vertikala rullningslisten; height anger höjden på den horisontella. Lägg till båda för behållare som kan rullas i båda riktningarna.
Kaskadera de två metoderna
Ange först de moderna reglerna, sedan webkit som en förbättring för webbläsare som renderar båda:
.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 följer bara de moderna scrollbar-*-reglerna. Chrome och Safari följer webkit-reglerna (som åsidosätter de moderna, så att beteendet blir enhetligt).
scrollbar-gutter förhindrar att innehållet flyttas
Utan ett reserverat utrymme flödar innehållet om när en rullningslist visas (vanligt i dynamiska listor). Lösning:
html { scrollbar-gutter: stable; }
/* or */
html { scrollbar-gutter: stable both-edges; }
Platsen för rullningslisten reserveras oavsett om innehållet rullar eller inte. both-edges lägger till ett motsvarande utrymme på motsatt sida så att innehållet förblir visuellt centrerat.
Dölj rullningslister helt
.no-scrollbar {
scrollbar-width: none; /* Firefox */
}
.no-scrollbar::-webkit-scrollbar { display: none; } /* Chrome, Safari */
Var försiktig: att dölja rullningslisten hindrar användare från att se att innehållet går att rulla. Använd det bara med en tydlig indikator (pilar, sidprickar) eller när rullningsbeteendet är uppenbart av sammanhanget (horisontella karuseller, chatthistorik).
Att tänka på för mobil
På iOS och Android visas rullningslister bara ett ögonblick under rullningen. Din anpassade CSS för rullningslisten tillämpas ändå, men användarna ser den kanske aldrig i mer än en sekund. Utforma därefter: satsa inte för mycket på visuella detaljer som sällan syns.
Tillgänglighet
- Kontrast: reglaget mot spåret bör uppnå 3:1 för icke-textkontrast (WCAG 1.4.11).
- Bredd: tunna rullningslister kan vara svåra att greppa med musen, särskilt för användare med motoriska nedsättningar. Normal bredd är ett säkrare standardval.
- Ta aldrig bort rullningslisten i rullbara områden utan att erbjuda ett annat sätt att rulla. Användare som förlitar sig på rullningslisten fastnar annars.
Vanliga frågor
Ja, med de moderna egenskaperna scrollbar-width och scrollbar-color. Firefox stöder inte webkit-pseudoelementen, så för ett enhetligt utseende mellan webbläsare bör du använda de moderna egenskaperna först och lägga till webkit-reglerna som en förbättring.
Eftersom standardrullningslister lägger sig över innehållet och inte reserverar något utrymme förrän det behövs. Ange scrollbar-gutter: stable på det rullbara elementet för att alltid reservera utrymmet och förhindra omflöde när rullningslisten visas eller försvinner.
Oftast ja, eftersom rullningslisten ser malplacerad ut och konkurrerar med innehållet. Lägg till synliga sidprickar eller pilkontroller så att användarna ändå vet att innehållet rullar. Respektera prefers-reduced-motion om du använder rullningsfäste (scroll-snapping).
Det kan den. Mycket tunna eller kontrastsvaga rullningslister är svåra att använda för personer med motoriska nedsättningar och nedsatt syn. Håll rullningslisten minst 8–10 px bred för ett bekvämt grepp och behåll en kontrast på 3:1 mellan reglaget och spåret.
Relaterade verktyg
ASCII-tabellreferens
Full ASCII-tabell från 0 till 127 med decimal-, hex-, oktal- och binärvärden samt notation för numeriska HTML-referenser, inklusive NUL, LF och DEL.
HTML-teckenreferens
En sökbar lista över HTML-entiteter med deras namngivna och numeriska koder samt kopiering med ett klick för specialtecken och symboler.
Referens för kortkommandon
Sök dokumenterade standardkommandon för VS Code, Chrome och Bash med GNU Readline i macOS, Windows och Linux.
Färgpalettgenerator
Skapa monokromatiska, analoga, komplementära, triadiska eller tetradiska färgpaletter från en HEX-basfärg och exportera kopieringsklara CSS-variabler.
Slumpgenerator för bokstäver
Generera slumpade A-Z-bokstäver. Välj antal, versaler, gemener eller blandat läge och använd resultatet för spel, uppgifter eller klassrumsaktiviteter.
Slumpmässig färggenerator
Generera 1 till 50 slumpmässiga HEX-färger med färgrutor som du kan förhandsvisa, kopiera och använda i CSS, tester eller palettskissning.