Is it possible to remove the dotted line surrounding a selected item in a select element?
I have tried to add the outline
property in CSS but it did not work, at least not in FF.
<style>
select { outline:none; }
</style>
Update
Before you go ahead and remove the outline, please read this.
http://www.outlinenone.com/
Here comes the solution
I found a solution, but it is mother of all hacks, hopefully it will serve as a starting point for other more robust solutions. The downside (too big in my opinion) is that any browser that doesn't support
text-shadow
but supportsrgba
(IE 9) won't render the text unless you use a library such as Modernizr (not tested, just a theory).Firefox uses the text color to determine the color of the dotted border. So say if you do...
Firefox will render the dotted border transparent. But of course your text will be transparent too! So we must somehow display the text.
text-shadow
comes to the rescue:We put a text shadow with no offset and no blur, so that replaces the text. Of course older browser don't understand anything of this, so we must provide a fallback for the color:
This is when IE9 comes into play: it supports
rgba
but not text-shadow, so you will get an apparently empty select box. Get your version of Modernizr withtext-shadow
detection and do...Enjoy.
Try one of these:
Reference
Here is a collaboration of solutions to fix styling issues with Firefox select boxes. Use this CSS selector as part of your usual CSS reset.
Class removes outline as per question but also removes any background image (as I usually use a custom dropdown arrow and Firefoxes system dropdown arrow can't currently be removed). If using background image for anything other than dropdown image, simply remove line
background-image: none !important;
Remove outline/dotted border from Firefox All Selectable Tags.
Put this line of code in your style sheet: