CSSのwidthプロパティを使ったレスポンシブ画像の作り方
widthプロパティで画像をレスポンシブ対応させる方法
Webページに掲載する画像をさまざまな画面サイズに自動的に対応させたい場合は、CSSのwidthプロパティを活用するのが最も基本的な手法です。具体的には、画像に対してwidth: 100%を指定することで、親要素の幅に合わせて画像が拡大・縮小されるようになります。
あわせてheight: auto;を指定することも重要です。これにより、幅が変わっても画像の縦横比(アスペクト比)が維持され、画像が縦に伸びたり潰れたりするのを防げます。
コード例
以下のコードを実行すると、ブラウザのウィンドウ幅に応じて画像が伸縮するレスポンシブ画像を確認できます。
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
img {
width: 100%;
height: auto;
}
</style>
</head>
<body>
<p>効果を確認するには、ブラウザのウィンドウサイズを変更してください。</p>
<img src="https://www.tutorialspoint.com/python/images/python-data-science.jpg"
alt="Python Data Science" width="400" height="300">
</body>
</html>
ポイント解説
- viewportメタタグ:
<meta name="viewport" ...>を必ず指定しましょう。モバイルデバイスでの表示が正しく機能するために不可欠な設定です。 - height: auto の指定: 幅だけを指定して高さを固定すると画像が歪んでしまうため、必ず
height: auto;をセットで指定します。 - max-widthとの使い分け: 画像が必要以上に拡大されるのを避けたい場合は、
max-width: 100%を使用するとよいでしょう。元のサイズ以上には広がらず、小さい画面では縮小されます。 - より高度な制御: 画面サイズに応じて異なる画像を出し分けたい場合は、HTMLの
srcset属性や<picture>要素の利用も検討すると、さらに効率的なレスポンシブ対応が可能です。
このように、CSSのwidthプロパティを使うだけで手軽にレスポンシブ画像を実装できます。まずは基本となる「width: 100%+height: auto」の組み合わせをマスターしておきましょう。
-
CSSでレスポンシブ画像を作成する方法【サンプルコード付きで解説】
Webページをスマートフォンやタブレットなど、さまざまなデバイスで美しく表示させるには、画面幅に応じて画像が自動的に拡大・縮小される「レスポンシブ画像」の実装が欠かせません。CSSでは、わずか数行のコードでこれを実現できます。 レスポンシブ画像の作成方法 以下は、CSSを使ってレスポンシブ画像を作成する基本的なコード例です。 サンプルコード <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-sca
-
IE8以下を含むすべてのブラウザに対応したCSS画像の不透明度設定方法
画像に半透明効果を加えたい場合、CSSのopacityプロパティが最も標準的でモダンな解決策です。このプロパティは、Firefox 0.9以降、Safari 2以降、Opera 9以降、Internet Explorer 9以降、そしてすべてのバージョンのGoogle Chromeで動作します。 ただし、古いブラウザにも対応させるには、以下の互換用プロパティを併せて指定する必要があります。 -moz-opacity:Firefox 0.9より前の古いバージョン向けの不透明度プロパティ -khtml-opacity:Safari 1系など旧WebKitベースのブラウザ向けのプロパティ filt