2012-05-30 8 views
9

Con questi stili CSS, impedisco la selezione del testo evidenziato su una pagina. Ma questo fa sì che i campi di input per essere bloccate da input dell'utente su Safari.Selezione utente: nessuna causa l'inaccessibilità del campo di immissione su Safari

* { 
-webkit-touch-callout: none; 
-webkit-user-select: none; // locks fields on Safari 
-khtml-user-select: none; // locks fields on Safari 
-moz-user-select: none; 
-ms-user-select: none; 
user-select: none;  
} 

C'è un modo per evitare che su Safari selezione dell'utente senza interferire con i campi di input?

risposta

19

Perché non applicare lo stile a tutto, ma gli ingressi?

modo css3: *:not(input){...}

+0

che ha funzionato. Grazie. – user823527

+0

Non dimenticare le textareas: '*: not (input textarea) {...}' –

+7

@tomaspolach la tua sintassi non è corretta. La sintassi corretta è: *: non (ingresso): Non (textarea) –

0

Avevo bisogno di qualcosa un po 'più preciso.

input[type=text] 
{ 
    -webkit-user-select: text; 
} 

input[type=password] 
{ 
    -webkit-user-select: all; 
} 
+0

cosa è la differenza in termini di funzionalità? scusa, so che posso provarlo, solo molto occupato ... –

+0

Questo selezionerà solo gli elementi di input specifici con l'attributo type impostato su testo o password. Questo è necessario per i vecchi browser che non supportano 'not'. Tuttavia, vorrei fare questo: '* {... user-select: none; } input {... user-select: text; } ' –

0

Ogni casi in css:

*:not(input), *:focus:not(input) { 
    -webkit-touch-callout: none; 
    -webkit-user-select: none; 
    -khtml-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
    outline-style:none;/*IE*/ 
} 
Problemi correlati