Uwaga: to pytanie nie dotyczy tworzenia niestandardowego menu. Chodzi tylko o możliwości stylizacji <option>
elementów w ramach zaznaczonego elementu w CSS
Jak mogę styl <option>
ów z <select>
elementu o zgodności z różnymi przeglądarkami? Znam wiele sposobów na JavaScript, które dostosowują menu do konwersji <li>
, o które nie pytam.
<select class="select">
<option selected>Select</option>
<option>Blue</option>
<option >Red</option>
<option>Green</option>
<option>Yellow</option>
<option>Brown</option>
</select>
Pytam, co mogłoby być możliwe tylko z CSS, z kompatybilnością z IE9 +, Firefox i Chrome.
Chcę stylizować tak lub jak najbliżej.
Próbowałem tutaj http://jsfiddle.net/jitendravyas/juwz3/3/ , ale Chrome nie pokazuje żadnego stylu oprócz koloru czcionki, podczas gdy Firefox pokazuje trochę więcej. Jak sprawić, by obramowanie i wypełnienie działały również w Chrome?
css
html-select
Jitendra Vyas
źródło
źródło
<option>
całe menu<select>
wygląd elementu na stronie. To pytanie dotyczy tego, czy możesz stylizować listę<option>
elementów.Odpowiedzi:
EDYCJA 2015 Maj
Zastrzeżenie: pobrałem fragment odpowiedzi, do której link znajduje się poniżej:
Ważna aktualizacja!
Oprócz WebKit, od Firefox 35 będziemy mogli korzystać z
appearance
właściwości:Więc teraz, aby ukryć domyślny styl, wystarczy dodać następujące reguły do naszego elementu select:
Aby uzyskać obsługę IE 11, możesz użyć [
::-ms-expand
] [15].Stara odpowiedź
Niestety to, o co prosisz, nie jest możliwe przy użyciu czystego CSS. Jednak tutaj jest coś podobnego, co możesz wybrać jako obejście. Sprawdź poniższy kod na żywo.
EDYTOWAĆ
Oto pytanie, które zadałeś jakiś czas temu. Jak stylizować listę rozwijaną <select> za pomocą CSS tylko bez JavaScript? Jak tam mówi, tylko w Chrome i do pewnego stopnia w Firefoksie możesz osiągnąć to, co chcesz. W przeciwnym razie, niestety, nie ma rozwiązania CSS działającego wyłącznie w różnych przeglądarkach, służącego do stylizacji wybranego elementu.
źródło
<select>
. użycie nie<div>
jest semantycznie poprawne.option
tagi za pomocą css, ale nie możesz, możesz tylko stylizowaćselect
tag. Co jest pokazane w tej odpowiedziNie ma sposobu na stylizowanie elementów opcji w różnych przeglądarkach, na pewno nie w zakresie drugiego zrzutu ekranu. Możesz być w stanie pogrubić je i ustawić rozmiar czcionki, ale to wszystko ...
źródło
Bawiłem się wybranymi elementami wcześniej i bez zastępowania funkcjonalności za pomocą JavaScript, nie sądzę, aby było to możliwe w Chrome. Niezależnie od tego, czy używasz wtyczki, czy piszesz własny kod, tylko CSS jest nie do przyjęcia dla Chrome / Safari i, jak powiedziałeś, Firefox lepiej sobie z tym radzi.
źródło