Gostaria de saber se é possível remover o brilho azul e amarelo padrão quando clico em uma área de entrada / texto usando CSS?
css
cross-browser
Alec Smart
fonte
fonte
Respostas:
Embora, tenha sido argumentado que manter o brilho / estrutura de tópicos é realmente benéfico para a acessibilidade, pois pode ajudar os usuários a ver qual elemento está atualmente focado.
Você também pode usar o pseudoelemento ': focus' para direcionar apenas as entradas quando o usuário as selecionou.
Demo: https://jsfiddle.net/JohnnyWalkerDesign/xm3zu0cf/
fonte
Esse efeito também pode ocorrer em elementos que não são de entrada. Encontrei os seguintes trabalhos como uma solução mais geral
Atualização: talvez você não precise usar o
:focus
seletor. Se você tem um elemento, digamos<div id="mydiv">stuff</div>
, e estava recebendo o brilho externo desse elemento div, basta aplicar como normal:fonte
<button>
elementos que não se beneficiam particularmente do brilho no foco, pois na maioria das vezes você clica nele.45.0.2454.101 m
:focus
para o seletor, eu só colocar ooutline-color
eoutline-style
no css da minha div.No redimensionamento da área de texto em navegadores baseados em webkit:
Definir altura e largura máx. Na área de texto não removerá a alça de redimensionamento visual. Tentar:
(e sim, eu concordo com "tente evitar fazer algo que não atenda às expectativas do usuário", mas às vezes faz sentido, ou seja, no contexto de um aplicativo da web)
Para personalizar a aparência dos elementos do formulário do webkit do zero:
fonte
none
,both
,horizontal
,vertical
, einherit
.Carl W :
Eu vou explicar isso:
:focus
significa que estiliza os elementos que estão em foco. Então, estamos estilizando os elementos em foco.outline-color: transparent;
significa que o brilho azul é transparente.outline-style: none;
faz a mesma coisa.fonte
Eu experimentei isso em um
div
evento com um clique e, após 20 pesquisas, encontrei esse trecho que salvou meu dia.Isso desativa o destaque do botão padrão nos navegadores móveis da webkit
fonte
Esta é a solução para pessoas que se preocupam com a acessibilidade .
Por favor, não use
outline:none;
para desativar o esboço do foco. Você está matando a acessibilidade da web se fizer isso. Existe uma maneira acessível de fazer isso.Confira este artigo que escrevi para explicar como remover a borda de uma maneira acessível.
A idéia, em suma, é mostrar apenas a borda do contorno quando detectamos um usuário do teclado. Quando um usuário começa a usar o mouse, desativamos o contorno. Como resultado, você obtém o melhor dos dois.
fonte
Se você deseja remover o brilho dos botões no Bootstrap (o que não é necessariamente um mau UX na minha opinião), você precisará do seguinte código:
fonte
.btn:active:focus
foi necessário remover o brilho enquanto pressionava o botão.Esta solução funcionou para mim.
fonte
algumas vezes acontece que os botões também usam abaixo para remover a linha externa
fonte
fonte
Achei útil remover o contorno de um botão de entrada do tipo "porta deslizante", porque o contorno não cobre a "tampa" correta da imagem da porta deslizante, tornando o estado do foco um pouco instável.
fonte
Eu só precisava remover esse efeito dos meus campos de entrada de texto e não consegui que as outras técnicas funcionassem corretamente, mas é isso que funciona para mim;
Testado no Firefox e no Chrome.
fonte
Certo! Você pode remover a borda azul também de todos os elementos HTML usando *
E
fonte