The Current State of Styling Selects in 2019
Styling form controls, particularly the <select></select>
element, remains a significant challenge for web developers. Surveys consistently rank styling <select></select>
elements among the top CSS feature requests. In fact, data indicates the <select></select>
element is requested more than twice as often as the next most sought-after element for styling.
Limited Native Styling Capabilities
While some basic external styling is possible, achieving comprehensive cross-browser compatibility for <select></select>
styling proves difficult. A robust cross-browser solution exists, but it primarily addresses the outer appearance of the dropdown. Styling the internal elements (options within the dropdown) remains inconsistent and problematic across different browsers.
This limitation is highlighted by developer feedback, which reveals that the most frustrating aspects of <select></select>
styling are:
- Search Functionality: Lack of robust search capabilities within the dropdown list.
- Dropdown Styling: Inconsistent styling of the open dropdown, including options and the inability to include rich content beyond plain text.
- Dynamic Updates: Difficulty updating the selected option without closing the dropdown.
- Placeholder/Selected State Styling: Challenges in creating visually distinct styles for unselected and selected states.
The following table summarizes the pain points experienced by developers when styling <select></select>
elements:
Frustration | % | Count |
---|---|---|
Not being able to create a good user experience for searching within the list | 27.43% | 186 |
Not being able to style the element to the extent that you needed to | 17.85% | 121 |
Not being able to style the default state (dropdown arrow, etc.) | 14.01% | 95 |
Not being able to style the pop-up window on desktop (e.g. the border, drop shadows, etc.) | 11.36% | 77 |
Insertion of content beyond simple text in the control or its s | 11.21% | 76 |
Insertion of arbitrary HTML content in an element | 7.82% | 53 |
Not being able to create distinctive unselected/placeholder style and behavior | 3.39% | 23 |
Being able to generate new options from a large dataset while the popup is open | 3.10% | 21 |
Not being able to style the currently selected (s) to the extent you needed to | 1.77% | 12 |
Not being able to style the pop-up window on mobile | 1.03% | 7 |
Being able to have the options automatically repeat on scroll (i.e., if you have an list of options 1 – 100, as you reach 100 rather than having the user scroll back to the top, have 1 show up below 100) | 1.03% | 7 |
Surprisingly, multi-select styling wasn't a top concern, possibly due to backward compatibility issues.
Browser Improvements and Future Directions
Recent announcements from browser vendors suggest improvements to form control styling are underway. For further updates and details on these developments, resources such as Nicole Sullivan's talks and Greg Whitworth's in-depth article are recommended.
The above is the detailed content of The Current State of Styling Selects in 2019. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











The other day, I spotted this particularly lovely bit from Corey Ginnivan’s website where a collection of cards stack on top of one another as you scroll.

I see Google Fonts rolled out a new design (Tweet). Compared to the last big redesign, this feels much more iterative. I can barely tell the difference

Have you ever needed a countdown timer on a project? For something like that, it might be natural to reach for a plugin, but it’s actually a lot more

Everything you ever wanted to know about data attributes in HTML, CSS, and JavaScript.

Questions about purple slash areas in Flex layouts When using Flex layouts, you may encounter some confusing phenomena, such as in the developer tools (d...

When the number of elements is not fixed, how to select the first child element of the specified class name through CSS. When processing HTML structure, you often encounter different elements...

At the start of a new project, Sass compilation happens in the blink of an eye. This feels great, especially when it’s paired with Browsersync, which reloads

How to implement Windows-like in front-end development...
