O HTML simples abaixo é exibido de maneira diferente nos navegadores Firefox e WebKit (verifiquei no Safari, Chrome e iPhone).
No Firefox, tanto a borda quanto o texto têm a mesma cor ( #880000
), mas no Safari o texto fica um pouco mais claro (como se tivesse alguma transparência aplicada a ele).
Posso consertar isso de alguma forma (remover essa transparência no Safari)?
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
input:disabled{
border:solid 1px #880000;
background-color:#ffffff;
color:#880000;
}
</style>
</head>
<body>
<form action="">
<input type="text" value="disabled input box" disabled="disabled"/>
</form>
</body>
</html>
Respostas:
fonte
1
para Mobile Safari.opacity:1
também é necessário.placeholder
texto doinput
elemento. Caso você também precise de uma correção para ele, consulte este link: css-tricks.com/almanac/selectors/p/placeholderNavegadores de webkit de telefone e tablet (Safari e Chrome) e desktop IE têm uma série de alterações padrão para elementos de formulário desabilitados que você precisará substituir se quiser estilizar entradas desabilitadas.
fonte
é uma pergunta interessante e tentei várias substituições para ver se consigo fazer isso funcionar, mas nada está funcionando. Navegadores modernos realmente usam suas próprias folhas de estilo para dizer aos elementos como exibir, então talvez se você puder farejar a folha de estilo do Chrome, você poderá ver quais estilos eles estão forçando. Ficarei muito interessado no resultado e se você não tiver ficarei um pouco mais tarde procurando por ele quando tiver algum tempo a perder.
PARA SUA INFORMAÇÃO,
não o substitui, então não tenho certeza se é opacidade.
fonte
Você poderia mudar a cor
#440000
apenas para o Safari, mas IMHO a melhor solução seria não mudar a aparência do botão em tudo . Dessa forma, em todos os navegadores em todas as plataformas, ele terá a aparência que os usuários esperam.fonte
ATUALIZADO EM 2019:
Combinando as ideias desta página em uma solução "configure e esqueça".
fonte
Você pode usar o atributo readonly em vez do atributo disabled, mas então você precisará adicionar uma classe porque não há uma entrada de pseudo-classe: readonly.
Esteja ciente de que uma entrada desabilitada e uma entrada somente leitura não são a mesma coisa. Uma entrada somente leitura pode ter foco e enviará valores no envio. Olhe para w3.org
fonte
para @ryan
Eu queria que minha caixa de entrada desativada parecesse normal. Esta é a única coisa que funcionaria no Safari Mobile.
fonte
Se você quiser consertar o problema para todas as entradas desabilitadas, você pode definir
-webkit-text-fill-color
paracurrentcolor
, então acolor
propriedade da entrada será usada.Veja aquele violino no Safari https://jsfiddle.net/u549yk87/3/
fonte
Esta pergunta é muito antiga, mas pensei em postar uma solução de webkit atualizada. Basta usar o seguinte CSS:
fonte
-webkit-text-fill-color
Você pode usar um botão em vez de uma entrada?
fonte