レスポンシブデザインの原則を使用して、デバイスの画面解像度に応じて画像サイズを拡大または縮小します。
CSSでは、ターゲットデバイスのmax-width
とを定義できます。max-height
これは、CSSで宣言する方法です。
@media only and (max-device-width:1024px) and (orientation:portrait)
その後、親要素に対する要素の幅と高さをパーセンテージで指定する必要があります。これは有効な方法ですが、モバイルデバイスでの帯域幅消費の観点からは最適な方法ではありません。パーセンテージを低く設定しても、画像はネイティブサイズでアップロードされ、ブラウザがCSSドキュメントを解析した後にダウンスケールが実行されるためです。
さまざまなデバイスで画像をどのように処理するかについて、W3Cからいくつかの提案がありますが、一般的に受け入れられ、標準化されているものはありません。
最も好評な提案の1つは、新しいタグ<image>
と<source>
タグです。これらは異なる画像ソースを受け入れ、画面解像度に応じて最も適切な画像サイズを使用します。
<picture alt="">
<!-- low-res, default -->
<source src="small.jpg">
<!-- med-res -->
<source src="medium.jpg" media="(min-width: 400px)">
<!-- high-res -->
<source src="large.jpg" media="(min-width: 800px)">
<!-- Fallback content -->
<img src="small.jpg" alt="description of image">
</picture>
提案された画像要素を模倣するポリフィルがあります:https ://github.com/scottjehl/picturefill
概念についての2つの徹底的に説明された記事はここにあります:
http://nicolasgallagher.com/sensitive-images-using-css3/
http://css-tricks.com/on-sensitive-images/