Entfernen Sie den inneren Schatten des Textbereichs auf Mobile Safari (iPhone).


152

Standardmäßig fügt Mobile Safari allen Eingabefeldern, einschließlich des Textbereichs, den oberen inneren Schatten hinzu. Gibt es eine Möglichkeit, es zu entfernen?

Es ist besonders hässlich, wenn Sie einen weißen Hintergrund haben.

Antworten:


340

Durch Hinzufügen dieses CSS-Stils:

-webkit-appearance: none;

26
Seien Sie vorsichtig, wenn Sie diese Eigenschaft zu den Kontrollkästchen für Eingabetypen und Optionsfeldern hinzufügen, da dadurch die Kontrollkästchen und Optionsfelder ausgeblendet werden;)
Zain Shaikh

14
Danke für die Antwort Lyon. Übrigens ist der beste Weg, es zu verwenden, es nur auf anzuwenden textarea, input[type="text"], input[type="submit"].
jgthms

8
Vergiss auch nicht input[type="password"].
Nick Pyett

7
Vergiss auch nicht [type="email"]!
Willster

35
Je nachdem, welche Eingabetypen Sie verwenden, ist es möglicherweise einfacher, den Operator not zu verwenden:input:not([type=checkbox]):not([type=radio])
Justin Fisher,

30

Beim Hinzufügen des CSS-Stils

-webkit-appearance: none;

wird funktionieren, es wird alles los. Vielleicht möchten Sie dies stattdessen versuchen:

box-shadow: none !important;

Auf diese Weise behalten Sie den Abwärtspfeil.


6
Das Hinzufügen einer Box-Shadow-Eigenschaft funktioniert nicht. Der innere Schatten wird in Safari unter iOS weiterhin angezeigt.
Silentmouth

22

Hier ist die einfache Lösung

input[type=text] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

9

Manchmal kann es sein, dass ein Stylesheet dort kaputt ist. appearance: none;Eine Möglichkeit, dies zu beheben, besteht darin, es zu verwenden caret. Der beste Weg ist, Ihren Code neu zu schreiben und herauszufinden, wofür ein Teil Ihres Codes den Stil durcheinander bringtnone

Bevor caretSie es verwenden, müssen Sie wissen, dass es zu Problemen mit anderen Stilen kommen kann

-webkit-appearance: caret;
   -moz-appearance: caret;
     -o-appearance: caret;
        appearance: caret;

HINWEIS: Verwenden Sie none, caretist nicht optimal.



-31

Das Festlegen der Eigenschaften " entweder" backgroundund " borderCSS" des inputTags scheint ebenfalls zu funktionieren.

Versuche dies:

<style>
input {
    background: #ccc;
    border: none;
}
</style>

<form>
First name: <input type="text"/><br />
Last name: <input type="text" />
</form>

9
Falsch und irreführend. Bitte prüfen Sie den Code auf dem richtigen Gerät vor der Veröffentlichung ...
Ariel

Wirklich falsche Antwort, nichts darüber ist, worüber OP fragt
Jacta
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.