How do I style a `` dropdown with only CSS?
To style your <select> dropdown only with CSS, play around with properties like appearance, background, border, and padding to create an elegant style. Enhance user experience with :focus state styling. Refer to this example:
Apply this CSS class custom-select to your select HTML element:
This CSS snippet provides a clean custom-styled dropdown, replacing default browser styles.
Managing overflowing text
Long text options can disrupt the beauty of your dropdown. Use text-overflow: ellipsis; for damage control:
Battling cross-browser inconsistencies
To create a consistent dropdown across different browsers, apply the appearance property and verify compatibility using caniuse.com and IE hacks:
Use pseudo-elements and pseudo-classes like :hover and :active to enhance interactivity and usability:
Ensuring theme consistency
Styling a consistent theme across your site is easier with CSS variables:
Styling native arrows
To replace the native arrow of a <select> dropdown, use a custom SVG or font icon. Ensure its correct position by managing background-position:
Alternatively, mask the browser's dropdown arrow by positioning the <select> element inside a div with overflow: hidden. Use pseudo-element with pointer-events: none; to overlay a mask:
Creating a cohesive design language
Styling properties like border-radius, color, and background help maintain a cohesive look:
Ensure font consistency and disable text selection to avoid unwanted user interactions:
Was this article helpful?