Mobile Safari(iPhone)のtextarea inner shadowを削除する


152

デフォルトでは、Mobile Safariは、textareaを含むすべての入力フィールドに上部の内側の影を追加するようです。それを削除する方法はありますか?

背景が白の場合は特に醜いです。

回答:


340

このCSSスタイルを追加することにより:

-webkit-appearance: none;

26
このプロパティをチェックボックスとラジオボタンを非表示にするため、入力タイプのチェックボックスとラジオボタンセレクターにこのプロパティを追加するときは注意してください;)
Zain Shaikh

14
リヨンの回答ありがとうございます。ところで、それを使用する最良の方法は、にのみ適用することtextarea, input[type="text"], input[type="submit"]です。
jgthms 2013

8
忘れinput[type="password"]ずに。
Nick Pyett 2014年

7
忘れ[type="email"]ずに!
Willster、2014年

35
あなたが使用している入力の種類に依存しない演算子を使用する方が簡単かもしれません:input:not([type=checkbox]):not([type=radio])
ジャスティン・フィッシャー

30

CSSスタイルを追加しながら

-webkit-appearance: none;

動作し、それはすべてを取り除きます。代わりにこれを試してください:

box-shadow: none !important;

このようにして、下矢印を保持します。


6
ボックスシャドウプロパティを追加するだけでは機能しません。内側の影は、iOSのSafariでも表示されます。
サイレントマウス2015年

22

これが簡単な解決策です

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

9

時々あなたはそこでスタイルシートを壊すことができるappearance: none;ので、それが起こったときにそれを修正する方法は使用することcaretです。最良の方法は、コードを書き直して、コードのどの部分がスタイルを台無しにするかを見つけることですnone

使用caretする前に、他のスタイルで問題が発生する可能性があることを知っておく必要があります

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

注:を使用することは最適nonecaretはありません。



-31

タグのいずれかbackgroundbordercssプロパティの設定inputも機能しているようです。

これを試して:

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

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

9
不正確で誤解を招く。投稿する前に適切なデバイスでコードをテストしてください...
Ariel

本当に間違った答え、それについては何もOPが尋ねるものではありません
Jacta
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.