かなりの量のドロップ シャドウとグラデーションを使用する Web サイトを構築しています。CSS の box-shadow プロパティを使用して、これの多くを実現できます。
残念ながら、私たちはまだ IE をサポートしているため、そのような状況では背景画像を追加する必要があります。
私は怠惰で全員に背景画像を提供するだけかもしれませんが、最新のブラウザを使用している人々のために物事を合理化しようとしています. 理想的には、これらのユーザーが画像をリクエストする必要がないようにしたいと考えています。
したがって、ブラウザーがボックス シャドウ (box-shadowSupport) をサポートし、CSS が次のようになる場合は、javascript を介して追加のクラスを追加します。
.box {
background: url('myImage.jpg');
}
.box-shadowSupport {
background: none;
[box shadow properties go here]
}
HTML が次のようになった場合:
<div class="box box-shadowSupport"></div>
画像はリクエストされますか?それとも、2 番目のスタイルが背景画像のプロパティをオーバーライドしているため、ブラウザは不要であることを認識していますか?
画像が要求された場合は、CSS と JavaScript を再配置する必要があるため、カスケード経由でスタイルをオーバーライドする代わりに、クラスを交換して、最初のクラスが HTML で参照されないようにする必要があります。