<img>要素の使い方・サンプルコード
<img>
<img>要素は、PNG, JPEG, GIF, SVG などの画像ファイルを表示するために使用します。
使用できる画像ファイルの形式
以下の画像ファイルを使用することができます。
- APNG(.apng)
- BMP (.bmp)
- GIF(.gif)
- ICO(.ico, .cur)
- JPEG(.jpg, .jpeg, .jfif, .pjpeg, .pjp)
- PNG(.png)
- SVG(.svg)
- WebP(.webp)
APNG は Internet Explorer で使用不可、WebP は Edge と Internet Explorer で使用不可となっています。
属性
src
画像ファイルのパスを指定する必須の属性です。
<img src="sample.png" width="100" height="100">
alt
画像の内容を説明する代替テキストで、画像が表示できない時に代わりに表示されます。
alt 属性を空にしたり指定しない場合は、そのページにおいて画像が重要ではないことを示します。
<img src="dog.png" alt="犬の画像">
crossorigin
オリジンをまたいでリクエストを送信する CORS (Cross-Origin Resource Sharing) で画像を取得する場合に、ユーザ認証を必要とするかどうかを指定します。
CORS を有効にすると <canvas> 要素で画像が利用できるようになります。
値 | |
---|---|
anonymous(初期値) | ユーザ認証は不要 |
use-credentials | Cookie, 証明書などの送信が必要 |
decoding
画像のデコード方式をブラウザに指示します。
値 | |
---|---|
auto(既定値) | ブラウザが自動的にデコード方式を選択します。 |
async | コンテンツの表示に遅れがないように画像を非同期デコードします。 |
sync | 画像を同期デコードします。 |
height
画像の高さをピクセル値で指定します。値に単位はつけません。
<img src="sample.png" width="100" height="100">
ismap
サーバーサイドのイメージマップを指定します。クリック位置の座標 (x, y) をサーバーに送信します。
sizes
srcset 属性で指定した画像ファイルからどの画像を表示するかをブラウザが選択するときに使います。srcset 属性がない場合は sizes 属性を書いても無効になります。
sizes 属性の値は、画像を表示する条件を表すメディア条件と、条件に一致したときの画像サイズで指定します。
<img src="img/320.png"
srcset="img/1024.png 1024w,
img/640.png 640w,
img/320.png 320w"
sizes="(max-width: 320px) 200px,
(max-width: 640px) 400px,
800px">
このコードの場合
- ビューポートの幅が 320px 以下の場合は 200px で img/320.png
- ビューポートの幅が 640px 以下の場合は 400px で img/640.png
- 上記2つの条件に一致しなかった場合は 800px で img/1024.png
が表示されます。
複数のメディア条件を付与する場合は ,(カンマ)で区切ります。
最後の画像サイズにはメディア条件を付与しません。このサイズはメディア条件が成立しない場合に使用される既定値になります。
srcset
ブラウザのスクリーンサイズやピクセル比によって表示する画像を切り替える場合に、画像 URL を指定します。
切り替える条件は「幅記述子」または「ピクセル密度記述子」で指定することができます。
幅記述子で切り替える場合
幅記述子で記述すると、ユーザーのビューポート(ブラウザ)幅によって画像の切り替えポイントを指定することができます。
<img src="small.png"
srcset="large.png 1024w,
medium.png 640w,
small.png 320w">
このコードでは
- 幅が 320 の場合は small.png
- 幅が 640 の場合は medium.png
- 幅が 1024 の場合は large.png
と切り替えることができます。
複数の画像を指定する場合は ,(カンマ)で区切ります。
ピクセル密度記述子で切り替える場合
ピクセル密度記述子で記述すると、ユーザーのビューポート(ブラウザ)の解像度よって画像の切り替えポイントを指定することができます。
ピクセル密度で切り替える場合は「数値 + x」と書きます。
<img src="icon.png"
srcset="icon@2x.png 2x, icon@3x.png 3x">
アイコンやロゴ画像を指定する際によく使われる指定方法です。
src 属性に指定した画像は 1x の場合に表示され、高解像度の端末では srcset に指定した画像が読み込まれます。
width
画像の幅をピクセル値で指定します。値に単位はつけません。
<img src="sample.png" width="100" height="100">
usemap
イメージマップを利用する場合に、関連づけたいイメージマップの名前を指定します。
usemap の値は <map> 要素の name 属性と一致させ、先頭に # を付けます。
<map name="sample">
<area shape="rect" coords="0, 0, 100, 100" href="https://sample.com" alt="Top left">
</map>
<img usemap="#sample" src="image.png" alt="Image" width="200" height="200" />
参考:<map>と<area>要素を使ったイメージマップの作り方
グローバル属性
全ての HTML 要素に共通して使用できるグローバル属性はこちら
使用例
<img src="img/320.png" alt="様々な画像サイズのテスト"
srcset="img/1024.png 1024w,
img/640.png 640w,
img/320.png 320w"
sizes="(max-width: 320px) 200px,
(max-width: 640px) 400px,
800px">