selectlist-elementet
Tilpas rullemenuer med det foreslåede selectlist-element
selectlist-elementet er en gratis HTML Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i HTML Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. HTML Academy-kurset indeholder 4 lektioner i alt.
Den langvarige begrænsning
<select>-elementet er et af de eneste formularstyringselementer, hvis udseende ikke kan styles. Alle CSS-regler, der anvendes på det (tilpassede kanter, skrifttyper og option-styles), ignoreres af browseren, hvilket har ført til tusindvis af biblioteker til "tilpassede rullelister", der gentager den indbyggede adfærd bare for at få styles på valgmulighederne.
Hvad selectlist er
<selectlist> (også kendt som <selectmenu>) er et indbygget HTML-element, der er udviklet som en rulleliste, der kan tilpasses med CSS, i stedet for <select>. Det bruger den samme overordnede model — en udløserknap og en liste med valgmuligheder — men alle dele er eksponeret til CSS-tilpasning.
<selectlist>
<option>Apple</option>
<option>Banana</option>
<option>Cherry</option>
</selectlist>Dele, du kan style
selectlist eksponerer knappen (udløseren i lukket tilstand), listboxen (den åbne rulleliste) og valgmulighederne. CSS-pseudoelementer (::part(button), ::part(listbox)) lader dig style hver del uden at påvirke den indbyggede adfærd.
Tilpasning af valgmuligheder
Valgmuligheder i selectlist kan indeholde vilkårligt indhold — ikoner, beskrivelser og tilpassede layouts — ikke kun tekst. Browseren håndterer stadig valgslogik, tastaturnavigation og fokushåndtering, mens du frit styrer udseendet.
Indbygget adfærd bevares
selectlist bevarer alt det, <select> gør godt: tastaturnavigation (piletaster og søgning ved at skrive), meddelelser til skærmlæsere, deltagelse i formularer og fokushåndtering. Du arver den tilgængelige adfærd og kan style brugergrænsefladen ovenpå.
Tilpasset knap
Angiv en slot til udløseren: <button slot="button">Choose fruit <svg>...</svg></button>. Knappen er din at designe — erstat den indbyggede trekant med et tilpasset ikon, tilføj etiketter, og skift farver. Browseren håndterer stadig åbning og lukning.
Deltagelse i formularer
selectlist deltager i formularafsendelse ligesom select: Den har en name-attribut og en value-værdi og sendes med formularen. Håndteringen på serversiden er identisk. Det er en direkte erstatning på markup-niveau i de fleste tilfælde, hvor select bruges.
Browserunderstøttelse
selectlist er en funktion på et tidligt udviklingsstadie. I 2026 leveres den i Chromium-baserede browsere bag flag eller i begrænset form. Firefox og Safari understøtter den endnu ikke. Brug i produktion kræver en reserve med et almindeligt <select> til browsere uden understøttelse.
Hvor svært er det at lave en polyfill
Det er svært at lave en fuldt tilgængelig tilpasset rulleliste, der matcher den indbyggede adfærd — fastholdelse af fokus, tastaturnavigation, integration med skærmlæsere og deltagelse i formularer. Biblioteker som Downshift, Combobox og react-aria udfører dette arbejde med tusindvis af kodelinjer. selectlist erstatter alt det med ét element.
Hvornår bør du tage det i brug
Til interne apps eller udrulninger, der kun bruger Chromium, sparer selectlist betydelige mængder kode allerede i dag. Til offentlige websites med et bredt publikum bør du vente på understøttelse i Firefox og Safari eller bruge et wrapper-bibliotek, der anvender selectlist, hvor det understøttes, og ellers falder tilbage til en brugerdefineret React/Vue-rullemenu.
Plan for udskiftning
Når selectlist bliver tilgængeligt overalt, kan du forvente, at en lang række biblioteker til brugerdefinerede rullemenuer bliver udfaset eller reduceret til tynde indpakninger omkring det indbyggede element. Følg standardiseringsprocessen; API'et har gennemgået revisioner og kan fortsat udvikle sig, før den endelige standardisering.
Konsekvenser for design
Designere kan nu specificere pixelperfekte rullemenuer uden forbehold som "Her er designet, men rullemenuen kommer til at se anderledes ud i browseren". selectlist fjerner en af de ældste visuelle uoverensstemmelser mellem designskitser og den HTML, der leveres.
Videnstjek
Hvorfor er selectlist-elementet vigtigt — hvilken begrænsning ved det indbyggede
Opsummering
selectlist (også kaldet selectmenu) er et nyt, indbygget HTML-element, der kombinerer den indbyggede funktionalitet i <select> (tastatur, skærmlæser og deltagelse i formularer) med fuld CSS-tilpasning af knappen, listboxen og valgmulighederne. Det leveres i øjeblikket i Chromium bag funktionsflag. Når det er standardiseret overalt, vil det erstatte en stor del af økosystemet af biblioteker til brugerdefinerede rullemenuer med ét indbygget grundelement.
Lær HTML med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 40
- Lektioner
- 159
Ofte stillede spørgsmål
Er lektionen “selectlist-elementet” gratis?
Ja — alle 3 lektioner i læringssporet HTML Academy, inklusive “selectlist-elementet”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. HTML Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “selectlist-elementet”?
Tilpas rullemenuer med det foreslåede selectlist-element Du øver dig i HTML Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på HTML Academy?
Der kræves ingen tidligere erfaring. HTML Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “selectlist-elementet”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne HTML Academy-lektion?
Ja. Alle HTML Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Deklarativ Shadow DOM
- Popover API
- selectlist-elementet
- Interest Invokers og Command-attributten