2012-05-30 18 views
9

Con estos estilos CSS evito la selección de texto resaltado en una página. Pero esto hace que los campos de entrada se bloqueen desde la entrada del usuario en Safari.Selección de usuario: ninguno hace que el campo de entrada sea inaccesible en 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;  
} 

¿Hay alguna manera en Safari de evitar la selección del usuario sin interferir con los campos de entrada?

Respuesta

19

¿Por qué no aplicar el estilo a todo menos a las entradas?

manera CSS3: *:not(input){...}

+0

que funcionó. Gracias. – user823527

+0

No olvide las áreas de texto: '*: not (input textarea) {...}' –

+7

@tomaspolach su sintaxis es incorrecta. La sintaxis correcta es: *: not (input): not (textarea) –

0

necesitaba algo un poco más preciso.

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

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

¿cuál es la diferencia en términos de funcionalidad? lo siento, sé que puedo probarlo, estoy realmente ocupado ... –

+0

Esto solo seleccionará los elementos de entrada específicos con el atributo de tipo establecido en texto o contraseña. Esto es necesario para los navegadores más antiguos que no son compatibles con 'no'. Sin embargo, yo haría esto: '* {... user-select: none; } entrada {... usuario-seleccionar: texto; } ' –

0

Para todos los casos en 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*/ 
} 
Cuestiones relacionadas