2010-05-31 28 views

Respuesta

566

Usted debe ser capaz de eliminarlo mediante

outline: none; 

pero tenga en cuenta que es potencialmente malo para la facilidad de uso: Será difícil saber si un elemento está enfocada, lo que puede aspirar Cuando recorre todos los elementos de un formulario con la tecla Tab, debe reflejar de algún modo cuando se enfoca un elemento.

+5

cambié las propiedades/atributos 'color de fondo' y' color' (como quieras llamarlo) en ': focus', así que Supongo que todavía está bien –

+7

Sí. Definir globalmente 'outline: none' como algunos resets do es un error ya que degrada la accesibilidad del teclado, pero está bien eliminar' outline' si tienes otra forma clara de reflejar el enfoque. – bobince

+12

+1 en la nota por ser una MUY mala práctica. Haría el uso del teclado muy molesto. – WhyNotHugo

7

puede simplemente configurar outline: none; y bordear un color diferente en el enfoque.

76

Para quitar el foco predeterminado, utilice el siguiente en el archivo .css por defecto:

:focus {outline:none;} 

entonces usted puede controlar el color del borde de enfoque, ya sea individualmente por elemento, o en el css por defecto:

:focus {outline:none;border:1px solid red} 

Obviamente reemplace red con el código hexadecimal elegido.

También puede dejar intacta la frontera y controlar el color de fondo (o imagen) para resaltar el campo:

:focus {outline:none;background-color:red} 

:-)

17

Esto sin duda va a funcionar. esbozo de naranja no se mostrará más .. Común para todas las etiquetas:

*:focus { 
    outline: none; 
    } 

específico en cierta etiqueta, por ejemplo: etiqueta de entrada

input:focus{ 
    outline:none; 
    } 
86

que tenía que hacer todo el seguimiento de eliminar por completo es

outline-style:none; 
box-shadow:none; 
border-color:transparent; 
+14

Esta debería ser la respuesta principal, es la única que elimina completamente la sombra/borde en el enfoque. – Tyguy7

+2

¡La única solución que funciona – Oleg

+1

finalmente encontré una que funciona en el móvil! – cawecoy

6

El problema es cuando ya tiene un esquema. Chrome todavía cambia algo y es un verdadero dolor. No puedo encontrar qué hay que cambiar:

.search input { 
    outline: .5em solid black; 
    width:41%; 
    background-color:white; 
    border:none; 
    font-size:1.4em; 
    padding: 0 0.5em 0 0.5em; 
    border-radius:3px; 
    margin:0; 
    height:2em; 
} 

.search input:focus, .search input:hover { 
    outline: .5em solid black !important; 
    box-shadow:none; 
    border-color:transparent;; 
} 

.search button { 
    border:none; 
    outline: .5em solid black; 
    color:white; 
    font-size:1.4em; 
    padding: 0 0.9em 0 0.9em; 
    border-radius: 3px; 
    margin:0; 
    height:2em; 
    background: -webkit-gradient(linear, left top, left bottom, from(#4EB4F8), to(#4198DE)); 
    background: -webkit-linear-gradient(#4EB4F8, #4198DE); 
    background: -moz-linear-gradient(top, #4EB4F8, #4198DE); 
    background: -ms-linear-gradient(#4EB4F8, #4198DE); 
    background: -o-linear-gradient(#4EB4F8, #4198DE); 
    background: linear-gradient(#4EB4F8, #4198DE); 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#4EB4F8', endColorstr='#4198DE'); 
    zoom: 1; 
} 

No focus With focus

7

La forma más simple es usar algo como esto, pero tenga en cuenta que puede que no sea tan bueno.

input { 
    outline: none; 
} 

Espero que le sea útil.

12
border:0; 
outline:none; 
box-shadow:none; 

Esto debería hacer el truco.

Cuestiones relacionadas