Quando um elemento HTML é 'focado' (atualmente selecionado / tabulado), muitos navegadores (pelo menos Safari e Chrome) colocam uma borda azul em torno dele.
Para o layout em que estou trabalhando, isso é perturbador e não parece certo.
<input type="text" name="user" class="middle" id="user" tabindex="1" />
O Firefox parece não fazer isso, ou pelo menos, permitirá que eu o controle com:
border: x;
Se alguém puder me dizer como o IE se sai, eu ficaria curioso.
Conseguir que o Safari remova esse pouco de flare seria bom.
input:focus, textarea:focus {outline: none;}
select:focus {outline:none;}
<button>
tag, que é usada pela jQuery UI e Twitter Bootstrap, entre outras coisas, então eu adicionariabutton: focus
à lista a integridade.button, button:focus { outline:none; }
Para removê-lo de todas as entradas
fonte
Este é um encadeamento antigo, mas para referência, é importante observar que desabilitar o contorno de um elemento de entrada não é recomendado, pois dificulta a acessibilidade.
A propriedade estrutura de tópicos existe por um motivo - fornecendo aos usuários uma indicação clara do foco do teclado. Para leituras adicionais e fontes adicionais sobre esse assunto, consulte http://outlinenone.com/
fonte
Only thing is that you won't be able to see the focus(outline focus) on it
- e esse é exatamente o meu ponto. A remoção do contorno desativa a indicação visual do evento de foco, não o evento real. Remover a indicação visual significa que você está dificultando as pessoas com deficiência que dependem dessa indicação.outline:none;
) sem considerar as implicações. Só porque algo é fácil e economiza tempo, não significa que é melhor prática :)Essa é uma preocupação comum.
O contorno padrão que os navegadores processam é feio.
Veja isto por exemplo:
Mostrar snippet de código
A "correção" mais comum recomendada é a
outline:none
que, se usada incorretamente, é um desastre para a acessibilidade.Então ... de que uso é o esboço afinal?
Há um site muito seca-cut eu achei que explica tudo muito bem.
Ok, vamos tentar o mesmo exemplo acima, agora use a
TAB
tecla para navegar.Mostrar snippet de código
Observe como você pode saber onde está o foco mesmo sem clicar na entrada?
Agora, vamos experimentar o
outline:none
nosso fiel<input>
Então, mais uma vez, use a
TAB
tecla para navegar depois de clicar no texto e ver o que acontece.Mostrar snippet de código
Veja como é mais difícil descobrir onde está o foco? O único sinal indicativo é o cursor piscando. Meu exemplo acima é excessivamente simplista. Em situações do mundo real, você não teria apenas um elemento na página. Algo mais parecido com isso.
Mostrar snippet de código
Agora compare isso com o mesmo modelo se mantivermos o esboço:
Mostrar snippet de código
Então, estabelecemos o seguinte
Então qual é a resposta?
Remova o contorno feio e adicione suas próprias dicas visuais para indicar o foco.
Aqui está um exemplo muito simples do que quero dizer.
Eu removo o contorno e adiciono uma borda inferior em : focus e : active . Também removo as bordas padrão nos lados superior, esquerdo e direito, definindo-as como transparentes em : focus e : active (preferência pessoal)
Mostrar snippet de código
Portanto, tentamos a abordagem acima com o nosso exemplo do mundo real anterior:
Mostrar snippet de código
Isso pode ser estendido ainda mais usando bibliotecas externas que se baseiam na idéia de modificar o "esboço" em vez de removê-lo inteiramente como Materialize
Você pode acabar com algo que não é feio e funciona com muito pouco esforço
Mostrar snippet de código
fonte
Isso me confundiu por algum tempo, até que descobri que a linha não era nem uma borda nem um contorno, era uma sombra. Então, para removê-lo, tive que usar isso:
fonte
Você pode usar CSS para desativar isso! Este é o código que eu uso para desativar a borda azul:
Isso removerá a borda azul!
Este é um exemplo de trabalho: JSfiddle.net
Espero que ajude!
fonte
A remoção de todos os estilos de foco é ruim para acessibilidade e usuários de teclado em geral. Mas os contornos são feios e fornecer um estilo focado personalizado para cada elemento interativo pode ser uma verdadeira dor de cabeça.
Portanto, o melhor compromisso que encontrei é mostrar os estilos de estrutura de tópicos somente quando detectamos que o usuário está usando o teclado para navegar. Basicamente, se o usuário pressionar TAB, mostramos os contornos e, se ele usar o mouse, os ocultamos.
Ele não impede que você escreva estilos de foco personalizados para alguns elementos, mas pelo menos fornece um bom padrão.
É assim que eu faço:
fonte
click
ouvinte é um toque agradável.Eu tentei todas as respostas e ainda não consegui que as minhas funcionassem no Mobile , até encontrar
-webkit-tap-highlight-color
.Então, o que funcionou para mim é ...
fonte
A única solução que funcionou comigo
fonte
Use este código:
fonte
Nenhuma das soluções funcionou para mim no Firefox.
A solução a seguir altera o estilo da borda em foco no Firefox e define o contorno como nenhum para outros navegadores.
Efetivamente, fiz a borda do foco passar de um brilho azul de 3px para um estilo de borda que corresponde à borda da área de texto. Aqui estão alguns estilos de borda:
Borda tracejada (borda 2px tracejada em vermelho):
Sem fronteira! (limite 0 px):
Borda da área de texto (borda 1px em cinza sólido):
Aqui está o código:
fonte
Você pode tentar isso também
ou
fonte
Você pode remover a borda laranja ou azul (estrutura de tópicos) em torno das caixas de texto / entrada usando: estrutura de tópicos: nenhuma
fonte
Remova o contorno quando o foco estiver no elemento, usando a propriedade CSS abaixo:
Essa propriedade CSS remove o contorno de todos os campos de entrada em foco ou usa a pseudo classe para remover o contorno do elemento usando a propriedade CSS abaixo.
Esta propriedade remove o contorno do elemento selecionado.
fonte
Tente isto
Isso afetaria suas páginas
fonte