iOS-Geräte fügen den Formulareingaben viele nervige Stile hinzu, insbesondere bei der Eingabe [type = submit]. Unten sehen Sie dasselbe einfache Suchformular in einem Desktop-Browser und auf einem iPad.
Desktop:
iPad:
Die Eingabe [type = text] verwendet einen CSS-Box-Schatteneinsatz und ich habe sogar -webkit-border-radius angegeben: none; was anscheinend überschrieben wird. Die Farbe und Form meiner Schaltfläche [Typ = Senden] wird auf dem iPad vollständig verfälscht. Weiß jemand, was ich tun kann, um dies zu beheben? Danke im Voraus.
-webkit-border-radius:none;
haben Sie angegebenborder-radius:none;
?-webkit-appearance:none
und-webkit-border-radius:0
den Trick auf iOS für mich gemacht!Antworten:
Die Version, an der ich gearbeitet habe, ist:
In einigen Webkit-Browserversionen kann es auch vorkommen, dass Sie
border-radius
noch vorhanden sind. Mit folgendem Reset zurücksetzen:Dies kann erweitert werden , um alle webkit Stil anwenden
form
Komponenten wieinput
,select
,button
odertextarea
.In Bezug auf die ursprüngliche Frage würden Sie den Wert 'none' nicht verwenden, wenn Sie ein auf Einheiten basierendes CSS-Element löschen. Beachten Sie auch, dass dadurch Kontrollkästchen in Chrome ausgeblendet werden. Verwenden Sie daher möglicherweise etwas wie
input[type=text]
oderinput:not([type=checkbox]), input:not([type=radio])
stattdessen.quelle
Sie können einige weitere Webkits für Formulare, Eingaben usw. entfernen, indem Sie Folgendes tun:
quelle
border-radius: 0;
vollständig zurückgesetzt werden und möchte keinen Randradius. Sonst setzen Sie einfach dieborder-radius
.Verwenden Sie für die Schaltfläche "Senden" nicht:
Verwenden Sie stattdessen das Button-Tag:
Das hat bei mir funktioniert.
quelle
<button>
Tags auch Stile hinzu . Ich denke, Sie sollten dies besser direkt mit CSS lösen.Schauen Sie sich normalize.css an
Es gibt eine Demo, in der Sie die Formularelemente testen und sehen können, wie sie in ios aussehen. Es gibt mehrere Webkit-orientierte Eigenschaften.
quelle
Das verwende ich in meinen Projekten
quelle
Dieses Problem tritt auch in einigen Browsern auf, wenn Sie Folgendes haben:
anstatt:
Dies kann passieren , wenn Sie Ihr Eingabeelement für einen anker Element ändern und vergessen zu ändern
type
zurole
.Ich hatte dieses Problem sowohl in Chrome als auch in Safari auf meinem iPad.
quelle