HTML Academy · Lektion

selectlist-elementet

Anpassa rullgardinskontroller med det föreslagna selectlist-elementet

Lektion 3 av 414 steg

selectlist-elementet är en gratis lektion i HTML Academy på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för HTML Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i HTML Academy innehåller totalt 4 lektioner.

Den långvariga begränsningen

Elementet <select> är en av de få formulärkontroller vars utseende inte kan stylas. Alla CSS-regler som tillämpas på det (anpassade ramar, teckensnitt och option-stilar) ignoreras av webbläsaren, vilket har lett till tusentals custom dropdown-bibliotek som duplicerar det inbyggda beteendet bara för att kunna styla alternativen.

Vad selectlist är

<selectlist> (även kallat <selectmenu>) är ett inbyggt HTML-element som är utformat som ett stilbart alternativ till <select>. Det använder samma konceptuella modell — en utlösarknapp och en lista med alternativ — men varje del är exponerad för CSS-anpassning.

<selectlist>
  <option>Apple</option>
  <option>Banana</option>
  <option>Cherry</option>
</selectlist>

Delar som kan stylas

selectlist exponerar knappen (utlösaren i stängt läge), listboxen (den öppna listrutan) och alternativen. Med CSS-pseudoelement (::part(button), ::part(listbox)) kan ni styla var och en utan att påverka det inbyggda beteendet.

Anpassa alternativ

Alternativ i selectlist kan innehålla godtyckligt innehåll — ikoner, beskrivningar och anpassade layouter — inte bara text. Webbläsaren hanterar fortfarande markeringslogik, tangentbordsnavigering och fokushantering, medan ni fritt styr utseendet.

Inbyggda beteenden bevaras

selectlist behåller allt som <select> gör bra: tangentbordsnavigering (piltangenter och type-ahead), meddelanden till skärmläsare, deltagande i formulär och fokushantering. Ni ärver det tillgängliga beteendet och kan styla gränssnittet ovanpå det.

Anpassad knapp

Tillhandahåll en slot för triggern: <button slot="button">Choose fruit <svg>...</svg></button>. Knappen kan utformas fritt — ersätt den inbyggda triangeln med en anpassad ikon, lägg till etiketter och ändra färger. Webbläsaren hanterar fortfarande öppning och stängning.

Deltagande i formulär

selectlist deltar i formulärinskickning precis som select: den har ett name-attribut, ett value och skickas med formuläret. Hanteringen på serversidan är identisk. På märkningsnivå är det en direkt ersättning för de flesta användningsfall med select.

Webbläsarstöd

selectlist är en funktion på ett tidigt utvecklingsstadium. År 2026 finns den i Chromium-baserade webbläsare bakom flaggor eller i begränsad form. Firefox och Safari har ännu inte stöd. Användning i produktion kräver fallback till ett vanligt <select> för webbläsare som saknar stöd.

Svårigheten med polyfills

Att skapa en polyfill för en fullt tillgänglig custom dropdown som matchar det inbyggda beteendet är svårt — fokusfällor, tangentbordsnavigering, integrering med skärmläsare och deltagande i formulär. Bibliotek som Downshift, Combobox och react-aria hanterar detta med tusentals rader kod. selectlist ersätter allt detta med ett enda element.

När bör det tas i bruk

För interna appar eller distributioner som endast använder Chromium sparar selectlist redan i dag en betydande mängd kod. För publika webbplatser med bred målgrupp bör ni vänta tills Firefox och Safari har stöd, eller använda ett wrapperbibliotek som använder selectlist där det stöds och annars faller tillbaka på en anpassad React-/Vue-rullgardinsmeny.

Färdplan för ersättning

När selectlist finns tillgängligt överallt kan ni räkna med att många bibliotek för anpassade rullgardinsmenyer antingen fasas ut eller blir tunna omslag runt det inbyggda elementet. Följ standardiseringsprocessen; API:t har genomgått ändringar och kan fortsätta att utvecklas innan standardiseringen är klar.

Konsekvenser för design

Designers kan nu specificera pixelperfekta rullgardinsmenyer utan reservationer av typen "Här är designen, men rullgardinsmenyn kommer att se annorlunda ut i webbläsaren". selectlist undanröjer en av de mest långvariga visuella skillnaderna mellan designskisser och den HTML som faktiskt levereras.

Kunskapskontroll

Varför är selectlist-elementet viktigt – vilken begränsning hos det inbyggda :s inbyggda funktioner (tangentbord, skärmläsare och integrering i formulär) med fullständig CSS-anpassning av knappen, listboxen och alternativen. Det levereras för närvarande i Chromium bakom flaggor. När det har standardiserats överallt kommer det att ersätta en stor del av ekosystemet med bibliotek för anpassade rullgardinsmenyer med ett enda inbyggt grundelement.

Gratis att börja

Lär dig HTML med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
40
Lektioner
159

Vanliga frågor

Är lektionen ”selectlist-elementet” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen HTML Academy, inklusive ”selectlist-elementet”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i HTML Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”selectlist-elementet”?

Anpassa rullgardinskontroller med det föreslagna selectlist-elementet Ni övar på HTML Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig HTML Academy?

Du behöver inga förkunskaper. Utbildningen i HTML Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”selectlist-elementet”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här HTML Academy-lektionen?

Ja. Varje HTML Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Deklarativ Shadow DOM
  2. Popover API
  3. selectlist-elementet
  4. Interest Invokers och Command-attributet
← Tillbaka till HTML Academy