I’ve created a select list with options having :after and :before pseudo-elements – DEMO
option:after, option::before {
content: " ";
height: 5px;
width: 5px;
background: #c00;
border-radius: 5px;
display: inline-block;
}
However this works in Firefox only and no other browser.
As it stated on W3C, MDN, SitePoint the :after is a “pseudo-element rendered after the matched element and used to add cosmetic content” and nobody states any restriction about elements it can’t be applied to.
Question – why all the browsers (except FF) can’t properly display the pseudo-elements?
Any documentation is greatly appreciated.
Whether there is a restriction is undefined, hence the inconsistent behavior. This is mentioned at the bottom of the relevant section in the spec:
Most HTML form elements are considered replaced elements, including
selectandoption.