https://developer.chrome.com/blog/rfc-customizable-select Skip to main content Chrome for Developers * Get inspired Blog Docs * Build with Chrome * Learn how Chrome works, participate in origin trials, and build with Chrome everywhere. * Web Platform * Capabilities * ChromeDriver * Extensions * Chrome Web Store * Chromium * Aurora * Web on Android * Origin trials * Release notes * Productivity * Create the best experience for your users with the web's best tools. * DevTools * Lighthouse * Chrome UX Report * Accessibility * Get things done quicker and neater, with our ready-made libraries. * Workbox * Puppeteer * Experience * Design a beautiful and performant web with Chrome. * AI * Performance * CSS and UI * Identity * Payments * Privacy and security * Resources * More from the Chrome team. * All documentation * Baseline * web.dev * PageSpeed Insights audit New in Chrome [ ] / * English * Deutsch * Espanol - America Latina * Francais * Indonesia * Italiano * Nederlands * Polski * Portugues - Brasil * Tieng Viet * Turkce * Russkii * `bryt * l`rbyW@ * frsy * hiNdii * baaNlaa * phaasaaaithy * Zhong Wen - Jian Ti * Zhong Wen - Fan Ti * Ri Ben Yu * hangugeo Sign in * Blog [ ] Chrome for Developers * * Get inspired * Blog * Docs + More * New in Chrome * Build with Chrome * Web Platform * Capabilities * ChromeDriver * Extensions * Chrome Web Store * Chromium * Aurora * Web on Android * Origin trials * Release notes * Productivity * DevTools * Lighthouse * Chrome UX Report * Accessibility * Workbox * Puppeteer * Experience * AI * Performance * CSS and UI * Identity * Payments * Privacy and security * Resources * All documentation * Baseline * web.dev * PageSpeed Insights audit * Chrome for Developers * Blog Request for developer feedback: customizable select Stay organized with collections Save and categorize content based on your preferences. Una Kravets Una Kravets Styling form controls like the To opt-in to the new behavior use the CSS appearance property on both the in-page select button and also on the select picker. To opt-in, set appearance: base-select on your elements which have been opted into the new behavior using appearance: base-select. This picker pseudo-element is the popover that is triggered by the base select button. You can opt-in both as shown in the following code: select, ::picker(select) { appearance: base-select; } You can choose to only opt-in the in-page button, but you can't opt-in only the picker popover without opting in the in-page button. ::picker(select) is only created once appearance: base-select is applied to the and // Everything else that will go into the ::picker(select) popover The new customizable element Previously, the Chrome team was working on the idea of a element. What's described in this post is that feature redesigned to reuse the existing element is the ability to progressively enhance the basic HTML element. In comparison to a brand new element, reusing // Everything else that will go into the ::picker(select) popover Then, style the arrow: /* style the arrow */ button span { /* arrow styles */ transition: rotate 0.2s; } /* adjust arrow styles when the picker is open */ select:open button span { rotate: -180deg; } See the Pen Styled select with arrow by web.dev (@web-dot-dev) on CodePen. Complex content within options Take things further with the ability to add and style content beyond strings within the