How to change the style of a <select>'s <optgroup> label?

On most browsers (tested on latest IE and FF), you can easily change the optgroup's label with CSS only:

    select optgroup{
    background:#000;
    color:#fff;
    font-style:normal;
    font-weight:normal;
    }

Obviously, you can set any classname instead of the select html tag.

By the way, as other answers said, there are still few CSS options to use with select boxes and many webmasters override them using the method given by user949847. But this code above should be sufficient to match your needs.


Unfortunately select boxes are one of the few things that you can add very little style to with CSS. You are usually limited to how the browser renders it.

For example, it looks like this in chrome:

enter image description here

And this in Firefox:

enter image description here


Firefox style the label using this rule :

optgroup:before {
    content: attr(label);
    display: block;
}

You can override it.

Tags:

Html

Css

Styling