Eu adicionei isso, mas ainda assim o contorno azul aparece quando o botão é clicado.
.btn:focus {
outline: none;
}
como remover essa coisa feia?
css
twitter-bootstrap
user3522457
fonte
fonte
:active
para o botão. Adicional: Use o Inspetor no seu navegador para encontrar o Problema.Respostas:
Pode ser que suas propriedades estejam sendo substituídas. Tente anexar
!important
ao seu código junto com: active.Adicione também box-shadow, caso contrário você ainda verá a sombra ao redor do botão.
Embora essa não seja uma boa prática para usar! Important, sugiro que você use uma classe mais específica e tente aplicar o css com o uso de! Important ...
fonte
box-shadow: none
(e não esqueça o prefixo-webkit-box-shadow: none
) a esta resposta. Observe também que o Bootstrap 4 já possui.btn:focus { outline: none }
em suas classes btn.Na versão mais recente do Bootstrap, descobri que remover o próprio contorno não funciona. E eu tenho que adicionar isso porque há também uma sombra de caixa:
fonte
Há uma classe boostrap integrada
shadow-none
para desativarbox-shadow
(nãooutline
) ( https://getbootstrap.com/docs/4.1/utilities/shadows/ ). Isso remove a sombra do botão:fonte
Tente abaixo do código
fonte
Isso estava acontecendo comigo no Chrome (embora não no Firefox). Eu descobri que a
outline
propriedade estava sendo definida pelo Bootstrap comooutline: 5px auto -webkit-focus-ring-color;
. Resolvido substituindo aoutline
propriedade posteriormente no meu CSS personalizado, da seguinte maneira:fonte
isso resolverá o botão com um texto, apenas um ícone ou um botão é um link:
se você adicionar
border:none !important;
então o botão se tornará menor quando clicado.
fonte
Tente isto
fonte
No Bootstrap 4, eles usam
box-shadow: 0 0 0 0px rgba(0,123,255,0);
: foco, e eu resolvi meu problema comfonte
Mesmo depois de remover o contorno do botão, definindo seu valor como 0, ainda há um comportamento engraçado no botão quando clicado, seu tamanho diminui um pouco. Então, eu vim com uma solução ótima:
Espero que isto ajude...
fonte
Você precisa usar o aninhamento adequado e depois aplicar estilos a ele.
Clique com o botão direito do mouse no botão e encontre a classe exata aninhada usando (Inspecione elemento usando firebug para firefox), (Inspecione elemento para chrome).
Adicione estilo ao grupo inteiro da classe. Só então funcionaria
fonte
Achei isso bastante útil no meu caso após o clique no botão.
fonte
Optei por simplesmente remover a largura da borda
:focus
. Isso remove o espaço feio entre o contorno e os cantos arredondados do botão. Por algum motivo, esse problema ocorre apenas em elementos de botão reais e não em<a class="btn">
elementos.fonte
Isso pode ajudar se alguém ainda tiver essa pergunta por resolver.
fonte
Aqui está a minha solução Boostrap 4 para remover o contorno do botão
fonte
Acabei de ter o mesmo problema e o seguinte código funcionou para mim:
Esperando que isso ajude!
fonte
Na verdade, no bootstrap são definidas todas as variáveis para todos os casos. No seu caso, basta substituir a variável padrão '$ input-btn-focus-box-shadow' do arquivo '_variables.scss'. Da mesma forma:
$input-btn-focus-box-shadow: none;
Observe que você precisa substituir essa variável em seu próprio '_yourCusomVarsFile.scss' personalizado. E esse arquivo deve ser importado no projeto em primeira ordem e depois inicializado da seguinte maneira:Os vars de bootstraps são exibidos com o sinalizador '! Default'.
Portanto, no seu arquivo, você substituirá os valores padrão. Aqui está a ilustração:
O primeiro var tem mais prioridade que o segundo. O mesmo é para os demais estados e casos. Espero que ajude você.
Aqui está o arquivo '_variable.scss' do repositório, onde você pode encontrar todos os valores de iniciais do bootstrap: https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss
Chears
fonte
isso funciona para mim no BS3
fonte
Este funcionou para mim no Bootstrap 4:
.btn {border-color: transparent;}
fonte
Experimentar
fonte
Lembre-se de que se o botão estiver dentro de uma âncora, como:
Adicionar o estilo ao botão em si pode não ser suficiente; talvez seja necessário adicionar as
a:focus, a:active { outline: none }
regras CSS onde apropriado (isso funcionou para mim).fonte
Experimente o abaixo
fonte
Às vezes
{outline: 0}
não resolvemos o problema e podemos tentar{box-shadow: none;}
fonte
Estou usando o bootstrap 4, você pode usar o contorno e a sombra da caixa.
Ou, se o botão estiver dentro de um elemento como uma div sem fundo, a sombra da caixa é suficiente.
Exemplo: https://codepen.io/techednelson/pen/XRwgRB
fonte
Se você estiver usando a versão 4.3 ou superior, seu código não funcionará corretamente. Isto é o que eu usei. Funcionou para mim.
fonte
Em vez de segmentar na classe de botão ( .btn ), aqui eu viso o próprio elemento button e funciona para mim.
E pode usar a
shadow-none
classe para o campo de entradafonte
Aqui está um método não CSS. Usando o JQuery, basta remover a classe "focus" sempre que o elemento for clicado.
$(".btn").mousemove(function(element) { $(this).removeClass("focus"); });
Esse método pode fazer com que a borda pisque e volte a funcionar brevemente, o que não parece ruim na minha opinião (parece parte da resposta quando o botão é clicado).
A razão pela qual eu usei .mousemove () é que .click () e .mouseup () provaram ser ineficazes.
fonte
Mudar esses valores funcionou para mim. Encontrei-o olhando para as Ferramentas do desenvolvedor do Chrome
Isso mantém a sombra do botão também, apenas altera a cor do botão ao clicar.
fonte
Substitua as instruções exatas de autoinicialização:
fonte
Mude a cor da borda de volta para cinza
fonte
A maneira SCSS para todos os elementos (não apenas botões):
fonte