background-size
多くの古いブラウザではサポートされていません。
これに対する一般的な解決策は、背景にしたい要素の後ろに配置された追加<div>
の要素または要素を使用してシミュレートすることです。<img>
これは、追加のマークアップを使用するだけで実現できますが、このソリューションには、プロパティの代わりにすべてのブラウザーで使用することになるという欠点がありbackground-size
ます。つまり、古いブラウザのためにコードを故意に劣化させることを意味し、これは理想的ではありません。
CSS プロパティをサポートするブラウザで使用する場合は、Javascript を少し使用して上記のマークアップを生成できますが、必要な場合のみです。これは、最新のブラウザーが問題なく を使用できbackground-size
、古いブラウザーのみがフォールバックを使用することを意味します。
これに対する Javascript ソリューションが Web 上で利用可能です (簡単な Google 検索で次のものが見つかりました: http://css-tricks.com/766-how-to-resizeable-background-image/など)。重要なのは、ブラウザに基づいてトリガーする方法を知る必要があることです。
これがModernizrの出番です。質問でModernizrについて行った説明は完全に正確ではありません。HTML マークアップに一連の CSS クラスを生成し、すべてのブラウザー機能を表す Javascript に対応する変数を生成します。これらは、現在のブラウザがサポートしているかどうかを示すブール フラグです。
そのため、Modernizr を使用すると、ブラウザがサポートしているかどうかを Javascript で確認し、サポートしbackground-size
ていない場合にのみ代替の JavaScript 関数を実行できます。
if(!Modernizr.backgroundsize) {
//do stuff here to simulate the background-size property for older browsers.
}
それが役立つことを願っています。