作って学べる
プログラミング講座
アプリを作りながら学習
自分のペースですぐに始められる
困ったら何回でも質問可能
リファレンス

<img>要素の使い方・サンプルコード

Sara

<img>

<img>要素は、PNG, JPEG, GIF, SVG などの画像ファイルを表示するために使用します。

デモ:<image>要素
sample

使用できる画像ファイルの形式

以下の画像ファイルを使用することができます。

  • APNG(.apng)
  • BMP (.bmp)
  • GIF(.gif)
  • ICO(.ico, .cur)
  • JPEG(.jpg, .jpeg, .jfif, .pjpeg, .pjp)
  • PNG(.png)
  • SVG(.svg)
  • WebP(.webp)
APNG・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-credentialsCookie, 証明書などの送信が必要

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">

このコードのデモをみる

対応ブラウザ

関連するタグ

HTML タグ一覧はこちら

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
ABOUT ME
Sara
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
このサイトでは「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで紹介します。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
主な使用言語:Java / Kotlin / PHP
>> 詳しいプロフィールはこちら
>> 書籍を出版しました!
>> お問い合わせはこちら
本格的に学びたい方へ

Code for Fun プログラミング講座

Code for Fun プログラミング講座では、プログラミングの基礎からアプリ開発まで学ぶことができます。

わかりやすく・シンプルをモットーに

  • 同じコードを書けば必ず完成できること
  • 専門用語を使いすぎないこと

を重視しています。

POINT 01

動くコード

プログラミングの文法だけを学んでも、そこから動くアプリを開発をするのは難しいです。

Code for Fun のプログラミング講座では、ゲームやカレンダーなど「アプリとして機能するもの」を作りながらプログラミングを学ぶことができます。

POINT 02

自分のペースで

オンライン講座なので、ご自身のペースで学習を進めて頂けます。

分からないことがあっても、前のレッスンに戻ることができるので安心です。

お申し込みしたその日からからすぐに始めることができます。

POINT 03

個別サポート

プログラミング学習では、エラーが起きることはよくあります。そんな時はお気軽にお問い合わせください!

コメント欄またはメールによるサポートを回数無制限でご利用頂けます。(*講座に関連するご質問のみ対応)

今すぐ無料でお試し

0
この記事にコメントするx
記事URLをコピーしました