iOSは角を丸め、入力にグレアをかける


93

iOSデバイスは、フォーム入力、特にinput [type = submit]に多くの迷惑なスタイルを追加します。以下に示すのは、デスクトップブラウザーとiPadでの同じ単純な検索フォームです。

デスクトップ:

デスクトップ

iPad:

iPad

input [type = text]はCSSボックスシャドウインセットを使用しており、-webkit-border-radius:none;も指定しています。これは明らかに上書きされます。入力[type = submit]ボタンの色と形がiPadで完全に粗雑になっています。誰かがこれを修正するために何ができるか知っていますか?前もって感謝します。


4
-webkit-appearance:なし。ほとんどの問題は解消されますが、2つの要素間のギャップや角の丸みは解消されません。ですから、それに対するどんな助けもいただければ幸いです。ありがとう。
inorganik

2
あなたは、指定され-webkit-border-radius:none;、指定しましたのborder-radius:none;
Rigel Glen

7
私のためにiOSでトリックを指定-webkit-appearance:noneして実行-webkit-border-radius:0しました!
Primus202

回答:


181

私が働いていたバージョンは次のとおりです:

input {
    -webkit-appearance: none;
}

一部のWebkitブラウザーバージョンでは、border-radiusまだ適切な状態にある場合もあります。以下を使用してリセットします。

input {
    -webkit-border-radius:0; 
    border-radius:0;
}

これを拡張しforminput、などのすべてのWebkitスタイルのコンポーネントに適用できます。selectbuttonまたはtextarea

元の質問を参照すると、ユニットベースのcss要素をクリアするときに値「none」を使用しません。またので、おそらくのようなものを使用し、Chromeでこの非表示のチェックボックスがあることに注意してくださいinput[type=text]またはinput:not([type=checkbox]), input:not([type=radio])その代わり。


5
-webkit-appearance:なし。Chromeのチェックボックスを非表示にします-有効な解決策ではありません!
Nico Westerdale、2014年

2
-webkit-appearance:なし。トリックを行います!(-webkit-border-radiusは不要)
OZZIE

良い点-私が見つけたブラウザのバージョンに依存するので、それはフェイルセーフのためにそこにあります。関連性のために投稿を編集します。
markyzm 2015

3
input:not([type = "checkbox"])は、Chromeで問題を回避するより良い方法でしょうか?IE <= 8では機能しませんが、それでも、それは修正しようとしていることではありません。
ロビンフランス語

17

これで、いくつかのWebkitフォーム、入力などのスタイリングを取り除くことができます。

input, textarea, select {
   -webkit-appearance: none;
}

それでもborder-radius: 0;完全にリセットする必要があり、border-radiusは必要ありません。それ以外の場合は、を設定しborder-radiusます。
Refilon 2015年

3

送信ボタンには使用しないでください:

<input type="submit" class="yourstylehere" value="submit" />

代わりに、ボタンタグを使用します。

<button type="submit" class="yourstylehere">Submit</button>

これでうまくいきました。


1
FWIW、プロジェクトでこの問題が発生したばかりで、私がテストしていたiPad 1も<button>タグにスタイルを追加しました。したがって、CSSで直接解決する方がよいと思います。
neemzy 2013

1

normalize.cssを見てください

フォーム要素をテストして、iOSでどのように表示されるかを確認できるデモがあります。複数のWebkit指向のプロパティがあります。


1

これは私のプロジェクトで使用するものです

* { 
    -webkit-tap-highlight-color: transparent; 
}
a, article, div, h1, h2, h3, h4, h5, h6, img, section, span {
    -moz-user-select: none; 
    -webkit-user-select: none; 
}
input, select, textarea { 
    -webkit-appearance: none; 
    -webkit-border-radius:0; 
    border-radius: 0; 
}

0

また、以下の場合、一部のブラウザーでこの問題が発生します。

<a class="btn btn-primary" href="#" type="button">Link</a>

の代わりに:

<a class="btn btn-primary" href="#" role="button">Link</a>

これは、アンカー要素の入力要素を変更typeし、に変更し忘れた場合に発生する可能性がありますrole

iPadのChromeとSafariの両方でこの問題が発生しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.