É possível remover a linha pontilhada ao redor de um item selecionado em um elemento selecionado?
Tentei adicionar a outline
propriedade no CSS, mas não funcionou, pelo menos não no FF.
<style>
select { outline:none; }
</style>
Atualizar
Antes de prosseguir e remover o esboço, leia isto.
http://www.outlinenone.com/
Respostas:
Encontrei uma solução, mas é a mãe de todos os hacks, espero que sirva como ponto de partida para outras soluções mais robustas. A desvantagem (grande demais na minha opinião) é que qualquer navegador que não suporte,
text-shadow
mas suportergba
(IE 9) não renderizará o texto a menos que você use uma biblioteca como a Modernizr (não testada, apenas uma teoria).O Firefox usa a cor do texto para determinar a cor da borda pontilhada. Então diga se você faz ...
O Firefox tornará a borda pontilhada transparente. Mas é claro que seu texto também será transparente! Portanto, devemos de alguma forma exibir o texto.
text-shadow
vem ao resgate:Colocamos uma sombra de texto sem deslocamento e sem desfoque, de modo que substitui o texto. É claro que os navegadores mais antigos não entendem nada disso, então devemos fornecer um substituto para a cor:
É quando o IE9 entra em ação: ele suporta,
rgba
mas não a sombra de texto, portanto, você obterá uma caixa de seleção aparentemente vazia. Obtenha sua versão do Modernizr comtext-shadow
detecção e faça ...Aproveitar.
fonte
@-moz-document url-prefix() { ::-moz-focus-inner {border: none} select:-moz-focusring { color: transparent; text-shadow: 0px 0px 0px #000; } }
Bem, a resposta de Duopixel é perfeita. Se dermos um passo adiante, podemos torná-lo à prova de balas.
Pronto, válido apenas para Firefox e o contorno pontilhado feio em torno da opção selecionada desapareceu.
fonte
all
nas transições é como disparar com uma metralhadora Gatling.Aqui está uma colaboração de soluções para corrigir problemas de estilo com as caixas de seleção do Firefox. Use este seletor CSS como parte de sua redefinição CSS usual.
A classe remove o contorno de acordo com a pergunta, mas também remove qualquer imagem de fundo (já que normalmente uso uma seta suspensa personalizada e a seta suspensa do sistema Firefoxes não pode ser removida no momento). Se estiver usando a imagem de fundo para qualquer coisa que não seja a imagem suspensa, simplesmente remova a linha
background-image: none !important;
fonte
-moz-appearance
comonone
.select::-moz-focus-inner
seletor importante , o que as torna menos eficazes. É por isso que este recebe o meu ⬆.select:-moz-focusring
junto comcolor: transparent
etext-shadow: 0 0 0 #000
removida a irritante fronteira em foco no Firefox v63Isso terá como alvo todas as versões do firefox
Você pode remover o! Important, se planeja que o esboço apareça em outras páginas do seu site que usem a mesma folha de estilo.
fonte
Em geral, os controles de formulário são impossíveis de estilizar com esse grau de precisão. Não tenho conhecimento de nenhum navegador que ofereça suporte a uma gama razoável de propriedades em todos os controles. Essa é a razão pela qual existem zilhões de bibliotecas JavaScript que "falsificam" controles de formulário com imagens e outros elementos HTML e emulam sua funcionalidade original com código:
http://ryanfait.com/resources/custom-checkboxes-and-radio-buttons/
...
fonte
<select onchange="this.blur();">
Se você usar isso, a borda permanecerá até que você selecione um item da lista.
fonte
Experimente um destes:
Referência
fonte
a
elemento, mas não funcionou em umselect
elemento.Aí vem a solução
fonte
10px solid red
e não consigo encontrar onde ele aparece.Remova contorno / borda pontilhada de todas as tags selecionáveis do Firefox.
Coloque esta linha de código em sua folha de estilo:
fonte
Adicione border-style: none à sua seleção em CSS.
fonte
trabalhando 100%
fonte
Isso removerá o foco do
select
elemento e do contorno :Embora isso não seja isento de falhas em outros navegadores. Você deve verificar o navegador que o usuário está usando:
fonte