2012-01-21 5 views
6

Di recente sono stati forniti molti esempi di cosa sia possibile utilizzare il "Checkbox Hack" con i CSS.Uso del "Checkbox" hack su siti web live

Css-Tricks ha una buona spiegazione su ciò che il trucco fa:

La "casella Hack" è dove si utilizza un'etichetta collegato e casella di ingresso e di solito qualche altro elemento che si sta cercando di controllare

Source & more information of the hack.

Che di recente mi ha fatto simpatia l'hack è stato esperimento CoDrops con pulsanti di opzione per create filter functionality with just CSS. Semplicemente incredibile.

L'hack può fare cose incredibilmente belle che richiederebbero JavaScript senza. Il problema è che la casella di controllo ei pulsanti radio sono solo supposti per essere usati per i moduli, quindi è una cattiva semantica. Ma non vedo il problema di usare un "hack" che è compatibile con la maggior parte dei browser e risolvere i problemi con i dispositivi mobili se ciò comporta meno JavaScript e prestazioni migliori.

Pensa che questo tipo di hack sarebbe "ok" da usare su siti web live, anche se è una cattiva semantica o secondo te, va bene usare?

+1

Non lo chiamerei un hackeraggio .. Se stai andando a fare un cambio usa invece JavaScript orientato agli oggetti. –

risposta

5

Leggi il grande dichiarazione di non responsabilità giallo sul sito si è collegato al:

responsabilità: Alcune di queste cose attraversa la linea di ciò che si "dovrebbe" fare con i CSS e introduce alcune semantiche cattivi. È ancora un divertimento malvagio con cui giocare e che è possibile, ma in generale il comportamento funzionale deve essere controllato da JavaScript.

Non direi che questo è un "trucco" per conto proprio. È tutto perfettamente valido, ci sono un sacco di altre cose folli che puoi fare con il selettore adiacente + o :focus, ad esempio. Tuttavia, può sicuramente essere usato per alcune cose "hacky".

Se, ad esempio, aiuta un utente a compilare un modulo: è grandioso. Ricorda che il supporto per :checked non è universale, quindi se l'usabilità del tuo sito si basa su, cerca soluzioni/shim alternativi tramite javascript.

Se si aggiungono gli elementi casella di controllo al markup per motivi di comportamento/presentazione, allora sì, è necessario evitarlo. Se hai già avuto l'elemento per iniziare e sei semplicemente migliorare l'esperienza utente con esso, è grandioso.