Tenho um problema de design com o Google Chrome e sua função de preenchimento automático de formulário. Se o Chrome se lembrar de algum login / senha, ele muda a cor de segundo plano para amarela.
Aqui estão algumas capturas de tela:
Como remover esse plano de fundo ou simplesmente desativar esse preenchimento automático?
Respostas:
Mude "branco" para a cor que desejar.
fonte
-webkit-text-fill-color
- veja esta questãobox-shadow: inset 0 0 0 1000px white !important;
Se vocês desejam campos de entrada transparentes, podem usar a transição e o atraso da transição.
fonte
-webkit-box-shadow
. Também elimina a necessidade de fornecer valores de cores para esta declaração: os valores padrão ainda serão aplicados.Solução aqui :
fonte
No Firefox, você pode desativar todo o preenchimento automático em um formulário usando o atributo autocomplete = "off / on". Da mesma forma, itens individuais podem ser configurados usando o mesmo atributo.
Você pode testar isso no Chrome, pois deve funcionar.
fonte
autocomplete="off"
dias de hoje, a conversão não está acessível.Se você deseja preservar o preenchimento automático, bem como quaisquer dados, manipuladores anexados e funcionalidade anexada aos seus elementos de entrada, tente este script:
Ele pesquisa até encontrar qualquer elemento de preenchimento automático, clona-os incluindo dados e eventos, depois os insere no DOM no mesmo local e remove o original. Ele interrompe a pesquisa quando encontra clone, pois o preenchimento automático às vezes leva um segundo após o carregamento da página. Essa é uma variação de um exemplo de código anterior, mas mais robusto e mantém o máximo possível de funcionalidade intacta.
(Trabalho confirmado no Chrome, Firefox e IE 8.)
fonte
O CSS a seguir remove a cor de fundo amarela e a substitui por uma cor de fundo de sua escolha. Ele não desabilita o preenchimento automático e não requer hacks jQuery ou Javascript.
Solução copiada de: Substituir preenchimento de formulário do navegador e destaque de entrada com HTML / CSS
fonte
Trabalhou para mim, apenas a alteração de css necessária.
você pode colocar qualquer cor no lugar de #ffffff .
fonte
Um pouco hacky, mas funciona perfeitamente para mim
fonte
Uma combinação de respostas funcionou para mim
fonte
Aqui está a versão MooTools do Jason's. Corrige-o no Safari também.
fonte
Isso corrige o problema no Safari e no Chrome
fonte
Isso me ajudou, uma versão apenas CSS.
input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px white inset; }
onde o branco pode ter qualquer cor que você quiser.
fonte
Eu uso isso,
fonte
Na sua tag, basta inserir esta pequena linha de código.
No entanto, não coloque isso no campo nome de usuário / email / idname, porque se você ainda deseja usar o preenchimento automático, ele será desativado para esse campo. Mas eu encontrei uma maneira de contornar isso, basta colocar o código na sua tag de entrada de senha, porque você nunca preenche automaticamente as senhas. Essa correção deve remover a força da cor e a capacidade de preenchimento automático do seu campo de email / nome de usuário e permite evitar hacks volumosos como Jquery ou javascript.
fonte
Se você quiser se livrar completamente dele, ajustei o código nas respostas anteriores para que funcione com foco, ativo e foco:
fonte
!important
é necessário, mas obrigado, isso me ajudou muito.Aqui está uma solução Mootools fazendo o mesmo que a de Alessandro - substitui cada entrada afetada por uma nova.
fonte
E essa solução:
Desativa o preenchimento automático e o preenchimento automático (para que os fundos amarelos desapareçam), aguarda 100 milissegundos e, em seguida, volta a funcionalidade de preenchimento automático sem preenchimento automático.
Se você tiver entradas que precisam ser preenchidas automaticamente, dê a elas a
auto-complete-on
classe css.fonte
Nenhuma das soluções funcionou para mim, as entradas de nome de usuário e senha ainda estavam sendo preenchidas e com o fundo amarelo.
Então, perguntei-me: "Como o Chrome determina o que deve ser preenchido automaticamente em uma determinada página?"
"Procura IDs de entrada, nomes de entrada? IDs de formulário? Ação de formulário?"
Através da minha experiência com o nome de usuário e as entradas de senha, só encontrei duas maneiras que levariam o Chrome a não encontrar os campos que deveriam ser preenchidos automaticamente:
1) Coloque a senha inserida antes da entrada de texto. 2) Dê a eles o mesmo nome e identificação ... ou nenhum nome e identificação.
Após o carregamento da página, com o javascript, você pode alterar a ordem das entradas na página ou atribuir dinamicamente o nome e o ID ...
E o Chrome não sabe o que foi atingido ... o preenchimento automático permanece desativado.
Hack louco, eu sei. Mas está funcionando para mim.
Chrome 34.0.1847.116, OSX 10.7.5
fonte
A única maneira que funciona para mim foi: (jQuery necessário)
fonte
Corrigi esse problema para um campo de senha que tenho assim:
Defina o tipo de entrada como texto em vez de senha
Remova o valor do texto de entrada com jQuery
Converta o tipo de entrada em senha com jQuery
fonte
Uma atualização para a solução Arjans. Ao tentar alterar os valores, isso não deixaria você. Este trabalho é bom para mim. Quando você focaliza uma entrada, ela fica amarela. está perto o suficiente.
fonte
Tente este código:
fonte
resposta namrouti tarifa está correta. Mas o fundo ainda fica amarelo quando a entrada é selecionada . A adição
!important
corrige o problema. Se você quiser tambémtextarea
eselect
com o mesmo comportamento basta adicionartextarea:-webkit-autofill, select:-webkit-autofill
Somente entrada
entrada, seleção, área de texto
fonte
Adicionando
autocomplete="off"
não vai dar certo.Altere o atributo do tipo de entrada para
type="search"
.O Google não aplica preenchimento automático a entradas com um tipo de pesquisa.
Espero que isso economize algum tempo.
fonte
Se você deseja evitar o piscar amarelo até que seu css seja aplicado, faça uma transição nesse bad boy da seguinte maneira:
fonte
A solução final:
fonte
Pergunta semelhante: Link
fonte
Acabei de me encontrar com a mesma pergunta. Isso funciona para mim:
fonte