Aqui estão algumas maneiras de estilizar <option>
junto com o<select>
se você estiver usando o Bootstrap e / ou o jquery. Entendo que não é isso que o pôster original está perguntando, mas pensei em ajudar outras pessoas que se deparam com essa pergunta.
Ainda é possível atingir o objetivo de estilizar cada um <option>
separadamente, mas também pode ser necessário aplicar algum estilo <select>
. O meu favorito é a biblioteca "Bootstrap Select" mencionada abaixo.
Biblioteca de Seleção do Bootstrap (jquery)
Se você já estiver usando o bootstrap, tente a biblioteca Bootstrap Select ou a biblioteca abaixo (já que ele tem um tema de bootstrap).
Observe que você pode estilizar o select
elemento inteiro ou os option
elementos separadamente.
Exemplos :
Dependências : requer jQuery v1.9.1 +, Bootstrap , o componente dropdown.js do Bootstrap e o CSS do Bootstrap
Compatibilidade : inseguro, mas o bootstrap diz que "suporta as versões mais recentes e estáveis de todos os principais navegadores e plataformas"
Demonstração : https://developer.snapappointments.com/bootstrap-select/examples/
.special {
font-weight: bold !important;
color: #fff !important;
background: #bc0000 !important;
text-transform: uppercase;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.9/dist/css/bootstrap-select.min.css" rel="stylesheet" />
<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.9/dist/js/bootstrap-select.min.js"></script>
<select class="selectpicker">
<option>Mustard</option>
<option class="special">Ketchup</option>
<option style="background: #5cb85c; color: #fff;">Relish</option>
</select>
Select2 (JS lib)
Há uma biblioteca que você pode usar chamada Select2 .
Dependências : a biblioteca é apenas JS + CSS + HTML (não requer JQuery).
Compatibilidade : IE 8+, Chrome 8+, Firefox 10+, Safari 3+, Opera 10.6+
Demo : https://select2.org/getting-started/basic-usage
Há também um tema de inicialização disponível.
Nenhum exemplo de Bootstrap:
$(function() {
var $select = $('.select2');
$select.select2({
theme: 'paper'
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/css/select2.min.css" rel="stylesheet"/>
<select class="select2 form-control" placeholder="Country">
<optgroup label="Alaskan/Hawaiian Time Zone">
<option value="AK">Alaska</option>
<option value="HI">Hawaii</option>
</optgroup>
<optgroup label="Pacific Time Zone">
<option value="CA">California</option>
<option value="NV">Nevada</option>
<option value="OR">Oregon</option>
<option value="WA">Washington</option>
</optgroup>
</select>
Exemplo de inicialização:
$(function() {
var $select = $('.select2');
$select.select2({
theme: 'paper'
});
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.2/paper/bootstrap.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/js/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.7/css/select2.min.css" rel="stylesheet"/>
<select class="select2 form-control" placeholder="Country">
<optgroup label="Alaskan/Hawaiian Time Zone">
<option value="AK">Alaska</option>
<option value="HI">Hawaii</option>
</optgroup>
<optgroup label="Pacific Time Zone">
<option value="CA">California</option>
<option value="NV">Nevada</option>
<option value="OR">Oregon</option>
<option value="WA">Washington</option>
</optgroup>
</select>
MDBootstrap ($ & Bootstrap & JQuery)
Se você tiver dinheiro extra, poderá usar uma biblioteca premium MDBootstrap . (Este é um kit de interface do usuário inteiro , portanto não é leve)
Isso permite que você estilize seus elementos de seleção e opção usando o design do material .
Existe uma versão gratuita, mas não permitirá que você use o bonito design de materiais!
Dependências : Bootstrap 4 , JQuery,
Compatibilidade : "suporta as versões mais recentes e estáveis de todos os principais navegadores e plataformas".
Demonstração : https://mdbootstrap.com/docs/jquery/forms/select/#color