iPhoneのSafariでinputタグに思ったようにCSSが当たらなかった話
WEBサイト制作では、制作段階で様々なブラウザや端末で表示や挙動の確認を行うことがあります。
OSで言えばWindows、Android、iOSなどなど、ブラウザで言えば、GoogleChrome、Microsoft Edge、Firefox、Safariがメインどころです。
2022年6月にIEのサポートが終了することによって、各ブラウザ間での仕様のズレが大きく改善されることになり、WEB分野の開発環境がかなり楽になっていくと思います。
と思いきや!
iOS環境のSafariって意外とバグと言っていいのか、独自の仕様と言うべきなのか思ったようになってくれないことがあるんですよね。
久しぶりにそんな事象にぶつかったので備忘録です。
<input type="button" value="ボタン">
input[type="button"] {
display:inline-block;
padding:10px 30px;
}
説明しやすいようにシンプルにしていますが、inputタグでボタンを設置し、cssでpaddingが当たるように設定しました。
Chromeで確認するとちゃんとcssがあたっているんですが、iPhoneのSafariで確認するとこのpadding効いてないんですよね…
iPhoneの場合は、以下のように「-webkit-appearance」プロパティを追加してやる必要があります。
input[type="button"] {
display:inline-block;
padding:10px 30px;
-webkit-appearance: none;
}
これで思ったようにcssをあてることができました!
「-webkit-」という書き方は、ベンダープレフィックスと言いまして特定の環境に向けてcssを効かせるときに使われます。
ベンダープレフィックスは、以下の種類があります。
・-webkit-:Chrome、Safari
・-moz-:Firefox
・-o-:Opera
・-ms-:IE
今回は、-webkit-appearanceでSafari(iOSかも…)独自の初期スタイルを打ち消す形で、自分のスタイルをあてることができるようになりました。
iOSのSafariってinputタグやselectタグなどに独自の仕様を持っているケースが多くて、油断していると足を引っ張られるので覚えておいてください!
こんな記事もオススメ
- 【Shopify】Shopify Flowを使って不正リスクの高い注文を自動キャンセルする方法Read More
- ECサイト運営側から見たライアビリティシフトと3Dセキュア2.0について解説するRead More
- Shopifyのセキュリティ対策について魅力を語ってみるRead More
- 【セキュリティ】PHPの新たな脆弱性でサーバ破壊の危険性も ― 日常のメンテナンスの重要性Read More
- 【セキュリティ】あなたのサイトは大丈夫?JSライブラリ『Polyfill.io』が有害サイトへの誘導を行うマルウェアに…Read More
- 【Shopify】ブログカテゴリにメタフィールドでアップロードしたアイキャッチ画像を表示する方法Read More