Ho uno stile radio personalizzata in ingresso che viene implementato più o meno così:: styling focus su ingresso radio personalizzato
<input type="radio" id="testradio" class="visuallyhidden custom-radio">
<label for="testradio">...</label>
.custom-radio + label:before {
content: ""
// Styling goes here
}
.custom-radio:focus + label:before {
outline: 1px solid black;
]
Questa grande opera, tranne per un dettaglio fastidioso: lo stile di punto di riferimento per la navigazione da tastiera. Posso tab-selezionare il gruppo di pulsanti di opzione e utilizzare i tasti freccia per modificare quello selezionato, ma il valore predefinito: contorno di messa a fuoco non viene visualizzato perché il tag di input è nascosto.
Ho provato ad aggiungere il mio stile di messa a fuoco come sopra, ma questo si comporta in modo diverso rispetto allo stile predefinito del browser. Per impostazione predefinita, Chrome (e altri browser presumo) disegnerà una struttura solo quando selezioni da tastiera gli input radio, non quando li fai clic. Tuttavia, il CSS: lo stile di messa a fuoco sembra applicarsi quando si fa clic sull'ingresso della radio (o in questo caso, facendo clic sull'etichetta), che sembra davvero pessimo.
Fondamentalmente la mia domanda è questa: come applico uno stile di messa a fuoco a un ingresso radio che simula completamente il comportamento predefinito del browser, ovvero non viene visualizzato da un clic del mouse? O c'è un altro modo in cui posso personalizzare questo ingresso radio che mi aiuterà a mantenere il comportamento predefinito?
Modifica: Ecco un JSFiddle che dimostra di cosa sto parlando. Sulla prima riga, puoi fare clic su un pulsante di opzione e quindi navigare con i tasti freccia: il contorno viene visualizzato solo quando si utilizza la tastiera. Nella seconda riga, facendo clic sul pulsante di opzione si attiva immediatamente lo stile di messa a fuoco.
http://jsfiddle.net/7Ltcks3n/1/
ingresso: concentrarsi ????? –
Sto utilizzando input: focus, ma non si comporta allo stesso modo di ciò che il browser fa per impostazione predefinita quando si tratta di clic del mouse. –
Dov'è l'opzione 'input: focus' sul tuo css fornito? – LcSalazar