40 CSS Select Boxes

This collection features modern and flexible solutions for styling select boxes. Instead of using CSS shapes for the arrow, we use background-image with an inline SVG, providing greater control over the icon and its state. CSS Custom Properties play a key role, allowing you to instantly change colors, spacing, and fonts for easy customization and branding. Smooth transitions on box-shadow and border-color on :focus ensure a polished and responsive user experience.

Last updated:

thumbnail: Customizable HTML and CSS Select

Customizable HTML and CSS Select

Dive deep into modern CSS form control by styling a <select> element’s internal parts like ::picker and ::picker-icon, enhanced with a dynamic hue-rotating border animated via @property.

Custom Select Menu with Optgroupsexternal link

This custom select menu is a showcase of cutting-edge CSS, built on a robust stylesheet architecture using Cascade Layers. It leverages the experimental appearance: base-select property to deeply customize the native picker UI via the ::picker(select) pseudo-element. This enables advanced, JS-free interactions, using :has(select:open) to manage page overflow and @starting-style to create a smooth, declarative slide-up entry animation.

Custom Picker for Hover Devices Onlyexternal link

This demo is a masterclass in progressive enhancement, applying advanced styling only on hover-capable devices that support appearance: base-select. The fluid dropdown animation is powered by @starting-style and transition-behavior: allow-discrete, enabling transitions on previously non-animatable properties.