A customizable ` select ` element with rich HTML content - lemuelmgsn/ako GitHub Wiki
De blogpost introduceert een nieuwe mogelijkheid in Chrome om <select>
-elementen volledig aanpasbaar te maken met behulp van CSS. Door het gebruik van appearance: base-select
kunnen ontwikkelaars nu rijke HTML-inhoud, zoals SVG's en afbeeldingen, binnen <option>
-elementen opnemen.
Dit opent de deur naar meer visueel aantrekkelijke en functionele dropdown-menu's zonder afhankelijk te zijn van externe bibliotheken of JavaScript.
- Het gebruik van
appearance: base-select
stelt ontwikkelaars in staat om de standaardweergave van<select>
-elementen te overschrijven en volledig aan te passen. - Met deze nieuwe aanpak kunnen complexe en rijke inhoud, zoals SVG-iconen en aangepaste stijlen, direct binnen
<option>
-elementen worden weergegeven. - De functionaliteit is momenteel beschikbaar in Chrome Canary 130 en vereist het inschakelen van experimentele webplatformfuncties via
chrome://flags
. - De nieuwe
::picker(select)
pseudo-element stelt ontwikkelaars in staat om de weergave van het dropdown-menu verder aan te passen.
<select class="custom-select">
<option>
<svg aria-hidden>…</svg>
<span>HTML</span>
</option>
<option>
<svg aria-hidden>…</svg>
<span>CSS</span>
</option>
<option>
<svg aria-hidden>…</svg>
<span>JavaScript</span>
</option>
<option>
<svg aria-hidden>…</svg>
<span>WASM</span>
</option>
</select>
.custom-select,
::picker(select) {
appearance: base-select;
}
Het is fascinerend om te zien hoe native HTML-elementen, zoals <select>
, nu dezelfde mate van aanpasbaarheid krijgen als op maat gemaakte componenten. Dit vermindert de noodzaak voor externe bibliotheken en biedt een meer geïntegreerde en prestatiegerichte oplossing.
Bovendien zorgt het ervoor dat de toegankelijkheid en consistentie behouden blijven, aangezien de functionaliteit binnen de browser zelf wordt gehandhaafd.
Deze ontwikkeling moedigt me aan om meer gebruik te maken van native HTML- en CSS-mogelijkheden voordat ik naar externe oplossingen grijp. Het benadrukt het belang van het bijhouden van browserupdates en het verkennen van experimentele functies die uiteindelijk de standaard kunnen worden.
Door deze nieuwe technieken te omarmen, kan ik meer gestroomlijnde, toegankelijke en onderhoudbare interfaces creëren.