2011-12-23 17 views

risposta

81

il :checked pseudo-classe si applica inizialmente a tali elementi che hanno la HTML4 selected e checked attributi

Fonte: w3.org


Quindi, questo funziona CSS, anche se lo styling dei color non è possibile in tutti i browser:

option:checked { color: red; } 

Un esempio di ciò in azione, nascondendo l'elemento attualmente selezionato dall'elenco a discesa.

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


per lo stile l'opzione selezionata nel chiuso discesa così, si potrebbe provare a invertire la logica:

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

Avete provato esso? [Sembra non funzionare] (http://jsfiddle.net/UUznB/) per me su FF8. * aggiornamento: * non funziona nemmeno in Chromium 15. – FakeRainBrigand

+0

Sì, questo consente di selezionare l'opzione selezionata nell'elenco a discesa, ma non nell'area chiusa di visualizzazione. –

+1

@FakeRainBrigand Ho verificato che funziona in Chrome 16. – Emmett

12

In realtà si può solo stile alcune proprietà CSS su : modificato opt elementi ionici. color non funziona, background-color, ma è possibile impostare un background-image.

È possibile accoppiare questo con gradienti per fare il trucco.

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

Opere su Gecko/WebKit.

+0

La risposta accettata non ha funzionato per me, ma questa soluzione ha funzionato. Grazie! –

+0

Non funziona più Chrome 58 – egr103

-1

questo ha funzionato per me:

select option { 
    color: black; 
} 
select:not(:checked) { 
    color: gray; 
} 
Problemi correlati