2011-12-23 10 views

Odpowiedz

81

pseudo-klasa :checked początkowo odnosi się do takich elementów, które mają HTML4 selected i checked atrybutów

Źródło: w3.org


tak, to CSS prace, chociaż stylizacji color nie jest możliwe w każdej przeglądarce:

option:checked { color: red; } 

Przykład tego działania, ukrywanie aktualnie wybranego elementu z rozwijanej listy.

option:checked { display:none; }
<select> 
 
    <option>A</option> 
 
    <option>B</option> 
 
    <option>C</option> 
 
</select>


Aby styl aktualnie wybraną opcję w zamknięty rozwijaną jak dobrze, można spróbować odwrócić logikę:

select { color: red; } 
option:not(:checked) { color: black; } /* or whatever your default style is */ 
+1

Czy go przetestować? To [wydaje się nie działać] (http://jsfiddle.net/UUznB/) dla mnie na FF8. * update: * nie działa również w Chromium 15. – FakeRainBrigand

+0

Tak, powoduje zaznaczenie wybranej opcji z listy rozwijanej, ale nie w zamkniętym widocznym obszarze. –

+1

@FakeRainBrigand Potwierdziłem, że działa on w przeglądarce Chrome 16. – Emmett

12

Właściwie można tylko styl kilka właściwości CSS na : zmodyfikowany opt elementy jonowe. color nie działa, background-color, ale można ustawić background-image.

Możesz połączyć to z gradientami, aby załatwić sprawę.

option:hover, 
 
option:focus, 
 
option:active, 
 
option:checked { 
 
    background: linear-gradient(#5A2569, #5A2569); 
 
}
<select> 
 
    <option>A</option> 
 
    <option>B</option> 
 
    <option>C</option> 
 
</select>

Prace nad Gecko/WebKit.

+0

Przyjęta odpowiedź nie działa dla mnie, ale to rozwiązanie zrobiło. Dziękuję Ci! –

+0

Nie działa już Chrome 58 – egr103

-1

Ten pracował dla mnie:

select option { 
    color: black; 
} 
select:not(:checked) { 
    color: gray; 
} 
Powiązane problemy