Der einfache HTML-Code unten wird in Firefox- und WebKit-basierten Browsern unterschiedlich angezeigt (ich habe in Safari, Chrome und iPhone eingecheckt).
In Firefox haben sowohl Rahmen als auch Text dieselbe Farbe ( #880000
), aber in Safari wird der Text etwas heller (als ob etwas Transparenz darauf angewendet worden wäre).
Kann ich das irgendwie beheben (diese Transparenz in Safari entfernen)?
<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>
Antworten:
quelle
1
für Mobile Safari eingestellt sein.opacity:1
ist auch notwendig.placeholder
Textfarbe desinput
Elements aus. Falls Sie auch eine Lösung dafür benötigen, sehen Sie sich diesen Link an: css-tricks.com/almanac/selectors/p/placeholderTelefon- und Tablet-Webkit-Browser (Safari und Chrome) und Desktop-IE haben eine Reihe von Standardänderungen an deaktivierten Formularelementen, die Sie überschreiben müssen, wenn Sie deaktivierte Eingaben formatieren möchten.
quelle
Es ist eine interessante Frage und ich habe viele Überschreibungen versucht, um zu sehen, ob ich sie in Gang bringen kann, aber nichts funktioniert. Moderne Browser verwenden tatsächlich ihre eigenen Stylesheets, um den Elementen mitzuteilen, wie sie angezeigt werden sollen. Wenn Sie also das Stylesheet von Chrome aufspüren können, können Sie sehen, welche Stile sie dazu zwingen. Ich werde sehr an dem Ergebnis interessiert sein und wenn Sie keines haben, werde ich ein wenig Zeit damit verbringen, es später zu suchen, wenn ich etwas Zeit zu verlieren habe.
Zu Ihrer Information,
überschreibt es nicht, daher bin ich mir nicht sicher, ob es undurchsichtig ist.
quelle
Sie könnten die Farbe
#440000
nur für Safari ändern , aber meiner Meinung nach wäre die beste Lösung, das Aussehen der Tasten überhaupt nicht zu ändern . Auf diese Weise sieht es in jedem Browser auf jeder Plattform so aus, wie Benutzer es erwarten.quelle
AKTUALISIERT 2019:
Kombinieren Sie die Ideen dieser Seite zu einer "Set and Forget" -Lösung.
quelle
Sie können das readonly-Attribut anstelle des deaktivierten Attributs verwenden, müssen dann jedoch eine Klasse hinzufügen, da keine Pseudoklasseneingabe vorhanden ist: readonly.
Beachten Sie, dass eine deaktivierte Eingabe und eine schreibgeschützte Eingabe nicht identisch sind. Eine schreibgeschützte Eingabe kann einen Fokus haben und sendet beim Senden Werte. Schau dir w3.org an
quelle
für @ryan
Ich wollte, dass mein deaktiviertes Eingabefeld wie ein normales aussieht. Dies ist das einzige, was in Safari Mobile funktionieren würde.
quelle
Wenn Sie das Problem für alle Behinderten - Eingänge korrigieren möchten, können Sie festlegen ,
-webkit-text-fill-color
zucurrentcolor
, so dass diecolor
gehen in das Eigentum des Eingangs verwendet werden.Sehen Sie diese Geige auf Safari https://jsfiddle.net/u549yk87/3/
quelle
Diese Frage ist sehr alt, aber ich dachte, ich würde eine aktualisierte Webkit-Lösung veröffentlichen. Verwenden Sie einfach das folgende CSS:
quelle
-webkit-text-fill-color
) funktioniert allerdingsKönnen Sie eine Schaltfläche anstelle einer Eingabe verwenden?
quelle