IOS(Safari 5)では、入力要素(上部の内側の影)について以下に従う必要があります。
トップシャドウを削除したいのですが、バグ-webkit-appearance
が保存されません。
現在のスタイルは次のとおりです。
input {
border-radius: 15px;
border: 1px dashed #BBB;
padding: 10px;
line-height: 20px;
text-align: center;
background: transparent;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
}
デフォルトのIOSスタイルをオーバーライドするには、-webkit-appearance: none;
を使用する必要があります。ただし、IOSは属性セレクターinput[type=text]
を使用してスタイルを追加するため、CSSでinput
タグのみを選択しても、デフォルトのIOSスタイルはオーバーライドされません。したがって、CSSは属性セレクターを使用して、事前設定されているデフォルトのIOS CSSスタイルをオーバーライドする必要があります。
これを試してください:
input[type=text] {
/* Remove First */
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
/* Then Style */
border-radius: 15px;
border: 1px dashed #BBB;
padding: 10px;
line-height: 20px;
text-align: center;
background: transparent;
outline: none;
}
役立つリンク:
appearance
の詳細については、こちらをご覧ください:
http://css-tricks.com/almanac/properties/a/appearance/
CSS属性セレクターについて詳しく知りたい場合は、ここで非常に有益な記事を見つけることができます:
background-clip: padding-box;
同様に影を削除するようです。
@ davidpauljunior が言及されている;一般的な入力セレクタで-webkit-appearance
を設定する際は注意してください。
webkitはすべてのプロパティを削除します
-webkit-appearance: none;
プロパティbox-shadowを使用して、入力要素の影を削除してください
box-shadow: none !important;
私はa。)が機能する解決策を考え出そうとしましたおよびb。)理由を理解することができます動作します。
入力の影(およびinput [type = "search"]の丸い境界線)は、背景画像からのものであることは知っています。
したがって、明らかにbackground-image: none
を設定するのは私の最初の試みでしたが、これはうまくいかないようです。
background-image: url()
を設定しても機能しますが、空のurl()
を使用することを引き続き懸念しています。現在のところ、それはただの悪い感じです。
background-clip: padding-box;
も仕事をしているようですが、「background-clip」ドキュメントを読んだ後でも、なぜこれが完全に背景を削除するのかわかりません。
私のお気に入りのソリューション:
background-image: linear-gradient(transparent, transparent);
これは有効なcssであり、どのように機能するか理解しています。