Le HTML simple ci-dessous s'affiche différemment dans les navigateurs Firefox et WebKit (j'ai vérifié dans Safari, Chrome et iPhone).
Dans Firefox, la bordure et le texte ont la même couleur ( #880000
), mais dans Safari, le texte devient un peu plus clair (comme s'il avait une certaine transparence appliquée).
Puis-je en quelque sorte résoudre ce problème (supprimer cette transparence dans 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>
Réponses:
la source
1
Mobile Safari.opacity:1
est également nécessaire.placeholder
couleur du texte de l'input
élément. Au cas où vous auriez besoin d'un correctif pour cela aussi, regardez ce lien: css-tricks.com/almanac/selectors/p/placeholderLes navigateurs Webkit pour téléphones et tablettes (Safari et Chrome) et IE de bureau comportent un certain nombre de modifications par défaut des éléments de formulaire désactivés que vous devrez remplacer si vous souhaitez appliquer un style aux entrées désactivées.
la source
c'est une question intéressante et j'ai essayé de nombreuses dérogations pour voir si je peux la faire démarrer, mais rien ne fonctionne. Les navigateurs modernes utilisent en fait leurs propres feuilles de style pour indiquer aux éléments comment s'afficher, alors peut-être que si vous pouvez flairer la feuille de style de Chrome, vous pourrez voir les styles qu'ils imposent. Je serai très intéressé par le résultat et si vous n'en avez pas, je passerai un peu de temps moi-même à le chercher plus tard quand j'aurai du temps à perdre.
FYI,
ne le remplace pas, donc je ne suis pas sûr que ce soit l'opacité.
la source
Vous pouvez changer la couleur à
#440000
juste pour Safari, mais à mon humble avis la meilleure solution serait de ne pas apparence de changement de bouton du tout . De cette façon, dans chaque navigateur sur chaque plate-forme, il ressemblera à ce que les utilisateurs attendent.la source
MISE À JOUR 2019:
Combiner les idées de cette page dans une solution «définir et oublier».
la source
Vous pouvez utiliser l'attribut readonly au lieu de l'attribut disabled, mais vous devrez alors ajouter une classe car il n'y a pas d'entrée de pseudo-classe: readonly.
Attention, une entrée désactivée et une entrée en lecture seule ne sont pas les mêmes. Une entrée en lecture seule peut avoir le focus et enverra des valeurs lors de la soumission. Regardez w3.org
la source
pour @ryan
Je voulais que ma boîte de saisie désactivée ressemble à une boîte normale. C'est la seule chose qui fonctionnerait dans Safari Mobile.
la source
Si vous souhaitez résoudre le problème pour toutes les entrées désactivées, vous pouvez définir
-webkit-text-fill-color
àcurrentcolor
, ainsi lacolor
propriété de l'entrée sera utilisée.Voir ce violon sur Safari https://jsfiddle.net/u549yk87/3/
la source
Cette question est très ancienne mais je pensais que je publierais une solution Webkit mise à jour. Utilisez simplement le CSS suivant:
la source
-webkit-text-fill-color
) fonctionne bienPouvez-vous utiliser un bouton au lieu d'une entrée?
la source