Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8773

Bootstrap 5のレンジが、Safariで表示がおかしくなる原因と対処法

$
0
0
Bootstrap5で開発していたアプリを、Safariで表示したところレンジのスタイルが適用されなかったので、その原因と対処法をご紹介します。 Sassでの読み込み時に発生 CDNやbootstrap.min.css、bootstrap.cssからBootstrapを読み込んでいる場合は、この不具合は発生しません。 ※Bootstrapは頻繁に更新されているので、今後、このような環境でも不具合が発生する恐れがあります。 bootstrap.scssから読み込んだ場合に、この不具合が見られました。 どういうことなのか bootstrapのレンジのスタイルが、Safariで反映されない。 Chrome(正常)↓ Safari↓ 原因 Safariなどのブラウザでは、デフォルトのスタイルを無効化するCSSのプロパティである、appearanceにベンダープレフィックス1をつけなくてはならないが、Bootstrap 5のSassではベンダープレフィックスがついていないため。 ちなみに、appearanceはMDNによれば、まだ「実験的な機能」とのことです。 Experimental これは実験的な機能です。 本番で使用する前にブラウザー互換性一覧表をチェックしてください。 appearance (-moz-appearance, -webkit-appearance) by MDN contributors is licensed under CC-BY-SA 2.5 現時点での対応状況は以下リンクから見られます。 2021/05/04時点では、 Chrome、Firefox、Edgeではappearance単独でも機能する Safariはベンダープレフィックスが必要 IEは、11も含めて完全に非対応 とのことです。 IEが完全に非対応とのことですが、最近はEdgeがChromiumを採用したことなどから、IEのサポートを打ち切るサイトも増えてきているので、あまり気にしなくても良いと思われます。 対処法 以下のCSSをBootstrapを読み込ませた後に追記します。 mystyle.scss input[type="range"]{ /*レンジ全体のスタイルを整える*/ appearance: none; /*デフォルトのスタイルを無効にする*/ -webkit-appearance: none;/*Webkitの古いブラウザでデフォルトのスタイルを無効にする*/ -moz-appearance: none;/*古いFirefoxでデフォルトのスタイルを無効にする*/ } input[type="range"]::-webkit-slider-thumb { /*Webkitブラウザでのレンジのツマミ部分のスタイル*/ -webkit-appearance: none; appearance: none; } input[type="range"]::-moz-range-thumb { /*Firefoxでのレンジのツマミ部分のスタイル*/ -moz-appearance: none; appearance: none; } 対処後は、Safariでも正常に表示されました。 Bootstrap側でこの問題は修正されるのか この問題を修正したというPull Requestがあったので、近いうちにこの不具合が修正されたものがリリースされると思われます。 (2021/05/04時点での最新版はv5.0.0-beta3なので、v5.0.0-beta4で修正されると思われます。) そのため、Bootstrapのアップデートがないか定期的にチェックされることをおすすめします。 ちなみに、GitHubでコードを管理している場合は、Dependabotを使うとBootstrapなどのパッケージ2のアップデートを自動で確認し、Pull Requestを出してくれます。 Dependabotの設定方法についての記事を書きましたので、合わせてご覧ください。 フロントエンド強化月間 5/31まで、Qiitaでは「フロントエンド強化月間」を行っています。この記事も、「フロントエンド強化月間」に合わせて執筆されたものです。 参考 CSSのappearanceについて Bootstrap (GitHub) 特定のブラウザでしか使えない、試験段階のプロパティの頭につく-webkit-や-moz-などの識別子のこと。将来的にCSSの正式な仕様となれば不要になりますが、ベンダープレフィックス付きのプロパティにしか対応していない古いブラウザに対応させるため、ベンダープレフィックス付きのプロパティを併記することがあります。 ↩ Bootstrapなどの、サードパーティのソフトウェアを指します。package.jsonなどのようなファイルには、インストールされたパッケージの名称・バージョンなどが記載されています。 ↩

Viewing all articles
Browse latest Browse all 8773

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>