Oto kilka sposobów na styl <option>
oraz <select>
użycie Bootstrap i / lub jquery. Rozumiem, że nie o to pyta oryginalny plakat, ale pomyślałem, że mogę pomóc innym, którzy natkną się na to pytanie.
Nadal możesz osiągnąć cel, jakim jest stylizacja każdego z <option>
osobna, ale może być również konieczne zastosowanie jakiegoś stylu <select>
. Moim ulubionym jest wspomniana poniżej biblioteka „Bootstrap Select”.
Bootstrap Select Library (jquery)
Jeśli już używasz bootstrap, możesz wypróbować bibliotekę Bootstrap Select lub bibliotekę poniżej (ponieważ ma motyw bootstrap).
Pamiętaj, że możesz stylizować cały select
element lub option
elementy osobno.
Przykłady :
Zależności : wymaga jQuery v1.9.1 +, Bootstrap , Bootstrap's dropdown.js i CSS Bootstrap
Zgodność : niepewny, ale bootstrap mówi, że „obsługuje najnowsze, stabilne wersje wszystkich głównych przeglądarek i platform”
Demo : 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)
Dostępna jest biblioteka o nazwie Select2 .
Zależności : Biblioteka to tylko JS + CSS + HTML (nie wymaga JQuery).
Kompatybilność : IE 8+, Chrome 8+, Firefox 10+, Safari 3+, Opera 10.6+
Demo : https://select2.org/getting-started/basic-usage
Dostępny jest również motyw bootstrap .
Brak przykładu 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>
Przykład ładowania początkowego:
$(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 ($ i Bootstrap i JQuery)
Jeśli masz dodatkowe pieniądze, możesz skorzystać z biblioteki premium MDBootstrap . (To jest cały zestaw interfejsu użytkownika , więc nie jest lekki)
Pozwala to stylizować wybrane i opcjonalne elementy przy użyciu projektu Materiał .
Jest darmowa wersja, ale nie pozwoli ci użyć ładnego materiału!
Zależności : Bootstrap 4 , JQuery,
Kompatybilność : „obsługuje najnowsze, stabilne wersje wszystkich głównych przeglądarek i platform”.
Demo : https://mdbootstrap.com/docs/jquery/forms/select/#color