La mayoría de las veces no me preocupa, pero tengo un carrusel de imágenes y si hago clic en los divs siguiente y anterior rápidamente, se resaltarán en Chrome.
Intenté usar esquema: ninguno pero sin efecto. ¿Hay alguna solución por ahí?
La mayoría de las veces no me preocupa, pero tengo un carrusel de imágenes y si hago clic en los divs siguiente y anterior rápidamente, se resaltarán en Chrome.
Intenté usar esquema: ninguno pero sin efecto. ¿Hay alguna solución por ahí?
Respuestas:
Además del enlace proporcionado por Floremin , que borra la selección de texto usando JavaScript para "borrar" la selección, también puede usar CSS puro para lograr esto. El CSS está aquí ...
.noSelect {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
Simplemente agregue el class="noSelect"
atributo al elemento al que desea aplicar esta clase. Recomiendo encarecidamente probar esta solución CSS. No hay nada de malo en usar JavaScript, solo creo que esto podría ser potencialmente más fácil y limpiar un poco las cosas en su código.
Chrome en Android
-webkit-tap-highlight-color: transparent;
es una regla adicional con la que puede experimentar para obtener soporte en Android.
user-select
y webkit-user-select
.
-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
-webkit-tap-highlight-color: transparent;
es la parte clave en Chrome
Para Chrome en Android, puede usar la propiedad CSS -webkit-tap-highlight-color :
-webkit-tap-highlight-color es una propiedad CSS no estándar que establece el color del resaltado que aparece sobre un enlace mientras se toca. El resaltado indica al usuario que su toque se está reconociendo correctamente e indica en qué elemento está tocando.
Para eliminar el resaltado por completo, puede establecer el valor en transparent
:
-webkit-tap-highlight-color: transparent;
Tenga en cuenta que esto podría tener consecuencias en la accesibilidad: consulte outlinenone.com
-webkit-tap-highlight-color: transparent;
parece funcionar también.
Estoy ejecutando la versión 60 de Chrome y ninguna de las respuestas CSS anteriores funcionó.
Descubrí que Chrome estaba agregando el resaltado azul a través del outline
estilo. Agregar el siguiente CSS lo solucionó para mí:
:focus {
outline: none !important;
}
user-select:none
conseguía nada
Pero, a veces, incluso con user-select
y touch-callout
apagado, cursor: pointer;
puede causar este efecto, por lo tanto, simplemente configúrelo cursor: default;
y funcionará.
cursor: pointer;
realmente está causando resaltado. Pero -webkit-tap-highlight-color: transparent;
es una solución más universal.
-webkit-tap-highlight-color
antes de etiquetarla como una solución relativamente universal : developer.mozilla.org/en-US/docs/Web/CSS/…
cursor: default
hizo el truco para mí cuando nada más funcionó.
Intente crear un controlador para el evento de selección en esos elementos y en el controlador puede borrar la selección.
Mira esto:
Selección de texto claro con JavaScript
Es un ejemplo de cómo borrar la selección. Solo necesitaría modificarlo para que funcione solo en el elemento específico que necesita.
Esto funciona mejor para mí:
.noSelect:hover {
background-color: white;
}