Twitter Bootstrap のレスポンシブ グリッドを使用しています。次のように、ページの一部としていくつかの画像を含めたいと考えています。
<div class="row">
<div class="span3"><img src="img1.png" /></div>
<div class="span3"><img src="img2.png" /></div>
<div class="span3"><img src="img3.png" /></div>
<div class="span3"><img src="img4.png" /></div>
</div>
ただし、イメージをレスポンシブにするのは困難です。Bootstrap では、イメージの幅がビューポートの幅に直接関係していないためです。これは、たとえばフィラメントアプローチを除外します。
上記の例では、幅 1080 ピクセルの画面で画像がスタックされるため、各 div はビューポート幅の 25% 未満しか占有せず、各画像の幅は ~250 ピクセルで十分です。ただし、幅 750 ピクセルの画面では、div が縦に積み重なってビューポート幅の 100% を占めるため、各画像の幅は ~750 ピクセルである必要があります。
私は次のようなことができると思っていました:
- デフォルトでは、spacer.gif をロードします。
<img src="spacer.gif" />
- ページの読み込み時に、画像の幅を確認し、適切なサイズを読み込みます
しかし、JavaScript を使用していないユーザーには機能しないことに気付きました。デフォルトで小さな画像を読み込むことができますが、JS を使用していないユーザーは大きな画面で操作性が悪く、一部のユーザーは小さな画像と大きな画像の両方を読み込む必要があります。
推奨事項はありますか?