Me pregunto si es posible eliminar el brillo azul y amarillo predeterminado cuando hago clic en una entrada de texto / área de texto usando CSS.
css
cross-browser
Alec Smart
fuente
fuente
Respuestas:
Sin embargo, se ha argumentado que mantener el brillo / contorno es realmente beneficioso para la accesibilidad, ya que puede ayudar a los usuarios a ver qué Elemento está enfocado actualmente.
También puede usar el pseudo-elemento ': foco' para apuntar solo a las entradas cuando el usuario las haya seleccionado.
Demostración: https://jsfiddle.net/JohnnyWalkerDesign/xm3zu0cf/
fuente
Este efecto también puede ocurrir en elementos que no son de entrada. He encontrado los siguientes trabajos como una solución más general
Actualización: es posible que no tenga que usar el
:focus
selector. Si tiene un elemento, digamos<div id="mydiv">stuff</div>
, y estaba obteniendo el brillo exterior de este elemento div, simplemente aplique de la manera normal:fuente
<button>
elementos, que no se benefician particularmente del brillo al enfocar, ya que la mayoría de las veces hace clic en él.45.0.2454.101 m
:focus
para el selector, solo puse eloutline-color
youtline-style
en mi div css.En el cambio de tamaño de textarea en navegadores basados en webkit:
Establecer max-height y max-width en el área de texto no eliminará el controlador de cambio de tamaño visual. Tratar:
(y sí, estoy de acuerdo con "tratar de evitar hacer algo que rompa las expectativas del usuario", pero a veces tiene sentido, es decir, en el contexto de una aplicación web)
Para personalizar el aspecto de los elementos de formulario webkit desde cero:
fuente
none
,both
,horizontal
,vertical
, yinherit
.Carl W :
Explicaré esto:
:focus
significa que estiliza los elementos que están enfocados. Así que estamos diseñando los elementos en foco.outline-color: transparent;
significa que el brillo azul es transparente.outline-style: none;
hace lo mismofuente
Experimenté esto en un
div
evento que tuvo un clic y después de 20 búsquedas, encontré este fragmento que me salvó el día.Esto deshabilita el resaltado de botones predeterminado en los navegadores móviles webkit
fuente
Esta es la solución para las personas que se preocupan por la accesibilidad .
Por favor, no lo use
outline:none;
para deshabilitar el esquema de enfoque. Estás matando la accesibilidad de la web si haces esto. Hay una forma accesible de hacerlo.Consulte este artículo que he escrito para explicar cómo eliminar el borde de manera accesible.
En resumen, la idea es mostrar solo el borde del contorno cuando detectamos un usuario de teclado. Una vez que un usuario comienza a usar su mouse, deshabilitamos el esquema. Como resultado, obtienes lo mejor de los dos.
fuente
Si desea eliminar el brillo de los botones en Bootstrap (que en mi opinión no es necesariamente una mala experiencia de usuario), necesitará el siguiente código:
fuente
.btn:active:focus
fue necesario para eliminar el brillo mientras se mantenía presionado el botón.Esta solución funcionó para mí.
fuente
algunas veces sucede que los botones también se usan a continuación para eliminar la línea externa
fuente
fuente
Me pareció útil eliminar el contorno en un tipo de botón de entrada de "puerta deslizante", porque el contorno no cubre la "tapa" derecha de la imagen de la puerta deslizante haciendo que el estado de enfoque se vea un poco torpe.
fuente
Solo necesitaba eliminar este efecto de mis campos de entrada de texto, y no pude lograr que las otras técnicas funcionen correctamente, pero esto es lo que funciona para mí;
Probado en Firefox y en Chrome.
fuente
¡Por supuesto! Puede eliminar el borde azul también de todos los elementos HTML usando *
Y
fuente