background-imageでwebp対応ブラウザかどうかで画像を出し分けするSassのmixin(modernizr利用)

background-imageでwebp対応ブラウザかどうかで画像を出し分けするSassのmixin(modernizr利用) HTML / CSS
この記事は約2分で読めます。
スポンサーリンク

どうも上かるびです。

background-imageでwebpを出し分けする場合、webp対応かどうかでurlや拡張子を変えなければいけないため、若干手間がかかることが多いと思います。

ある参考記事のscssでは入れ子内に書けなくて不便なのでカスタマイズしました

今回のmixinは上記サイトで発見したのですが、
例えば.boxの子要素の.box__innerとかに入れ子内で@includeをするとエラーになってしまいました。

なのでちょっとカスタマイズして、入れ子内で@includeで書いても正常に動作するようにしました。

上かるび
上かるび

modernizrなどでwebp対応かどうか判定する処理については省力します。

ブラウザがwebp対応かどうか判定するmodernizrについては、下記サイトなどをご参考ください。

background-imageをwebp対応かどうかによって出し分けするmixin

まずはmixin。

使い方↓(画像のURLは適宜変更してください)

 

CSSにコンパイルすると↓

@includeを入れ子にしないで使いたい場合

ちなみに冒頭の参考サイトのように入れ子にしない場合は下記のようになります。

ネコーダー
ネコーダー

background-imageのみ別ファイルとして管理している場合などはこちらが良さそう。

使い方↓

CSSにコンパイルすると↓

コメント

タイトルとURLをコピーしました