6日でできる 新HTML&CSS入門|画像タグと属性の使い方

画像を正しく表示できると、Webページの印象は大きく変わる。imgタグと属性の役割を理解して、伝わりやすいビジュアル表現を身につけよう。

Webページを開いたとき、最初に目に入りやすいのは文字よりも画像です。写真、イラスト、アイコン、ロゴ、バナーなどの画像は、ページの雰囲気を伝えたり、内容を分かりやすく補足したりする大切な要素です。

HTMLでは、画像を表示するときにimgタグを使います。imgタグは、HTMLファイルの中に画像そのものを直接書き込むのではなく、画像ファイルの場所を指定して、ブラウザに読み込ませるためのタグです。

画像を表示するには、src属性で画像ファイルの場所を指定します。さらに、alt属性で画像の代わりになる説明文を指定します。alt属性は、画像が表示されなかったときだけでなく、音声読み上げソフトを使う人に画像の内容を伝えるためにも重要です。

画像は見た目の印象を良くするだけでなく、ページの内容理解にも役立ちます。ただし、画像ファイルの置き場所、ファイル名、サイズ、形式、代替テキストなどを意識しないと、画像が表示されなかったり、ページの読み込みが重くなったりすることがあります。

この記事では、imgタグの基本、画像フォルダの配置、src属性とalt属性、width属性とheight属性、title属性、figureとfigcaptionによるキャプション、srcsetやpictureを使ったレスポンシブ対応まで、画像表示の基本を順番に解説していきます。

素材のダウンロード

以下のリンクから使用する素材をダウンロードできます。
※ウイルス対策ソフト ESET でチェックしておりますが、ダウンロードは自己責任でお願いします。

morning-sea.pngdog-320.pngdog-640.pngdog-1280.pngforest.avifforest.webpforest.jpg
image-tagsattributes.zipファイルに含まれています。

画像はHTMLからファイルを参照して表示する

HTMLで画像を表示するときは、HTMLファイルとは別に画像ファイルを用意します。そして、imgタグのsrc属性で、その画像ファイルの場所を指定します。

たとえば、HTMLファイルと同じ階層にimagesフォルダを作り、その中に画像ファイルを入れておくと、管理しやすくなります。

項目内容
HTMLファイルページの構造を書くファイル
imagesフォルダ画像ファイルをまとめて入れるフォルダ
画像ファイルjpg、png、webpなどの画像
src属性表示したい画像の場所を指定する

画像ファイルをHTMLファイルと同じ場所に大量に置いてしまうと、ファイルが増えたときに管理しにくくなります。そこで、画像はimagesフォルダにまとめておくのが分かりやすい方法です。

たとえば、次のような構成にします。

├─ lesson16_1.html
├─ lesson16_2.html
├─ lesson16_3.html
├─ lesson16_4.html
├─ lesson16_5.html
└─ images/
   ├─ morning-sea.png
   ├─ dog-320.png
   ├─ dog-640.png
   ├─ dog-1280.png
   ├─ mountain.avif
   ├─ mountain.webp
   └─ mountain.jpg

このようにしておくと、HTMLファイルからimagesフォルダ内の画像を相対パスで指定できます。

たとえば、imagesフォルダの中にmorning-sea.pngがある場合、src属性にはimages/morning-sea.pngのように書きます。

図1:HTMLファイルと画像フォルダの関係

この図から分かること

この図から、HTMLで画像を表示するときは、HTMLファイルが画像ファイルを参照していることが分かります。

画像そのものをHTMLの中に書くのではなく、画像ファイルをimagesフォルダなどに保存し、src属性でその場所を指定します。ブラウザはHTMLを読み込みながら、指定された画像ファイルも読み込んでページに表示します。

画像が表示されない場合は、画像ファイルが存在するか、フォルダ名やファイル名が正しいか、src属性で指定したパスが合っているかを確認することが大切です。

imgタグの基本

画像を表示するために使うのがimgタグです。imgタグは、終了タグを持たない単体タグです。

基本的には、src属性とalt属性を指定して使います。

属性役割重要度
src画像ファイルの場所を指定する必須
alt画像の代替テキストを指定する必須級
width画像の表示幅を指定する必要に応じて使う
height画像の表示高さを指定する必要に応じて使う
title補足説明を指定する必要に応じて使う

src属性がないと、ブラウザはどの画像を読み込めばよいのか分かりません。そのため、画像表示にはsrc属性が欠かせません。

alt属性は、画像が表示されないときの代わりの説明文です。また、音声読み上げソフトを利用している人に画像の内容を伝える役割もあります。画像の意味がページ内容に関係している場合は、alt属性に分かりやすい説明を書きます。

画像を表示する最小構成

まずは、imgタグを使って画像を表示する基本形を確認しましょう。

ここでは、imagesフォルダの中にmorning-sea.pngという画像がある想定で作成します。

ファイル名: lesson16_1.html

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>写真を表示する</title>
</head>
<body>
  <h1>朝の海の写真</h1>
  <img src="images/morning-sea.png" alt="朝日が差し込む海岸の写真">
</body>
</html>

ブラウザの表示例

ブラウザで表示すると、「朝の海の写真」という見出しの下に、imagesフォルダ内のmorning-sea.pngが表示されます。

表示される内容説明
見出し朝の海の写真
画像images/morning-sea.png
代替テキスト朝日が差し込む海岸の写真

この例では、src属性にimages/morning-sea.pngを指定しています。これは、HTMLファイルから見てimagesフォルダの中にあるmorning-sea.pngを読み込むという意味です。

alt属性には、画像の内容を説明する文章を入れています。画像が表示されない場合や、音声読み上げ環境では、この説明が画像の代わりになります。

alt属性は画像の意味を伝えるために大切

alt属性は、画像の代わりになるテキストを指定する属性です。画像が読み込めない場合、ブラウザはalt属性の内容を表示することがあります。

また、音声読み上げソフトを使っている人にとって、alt属性は画像の内容を知るための重要な手がかりになります。

画像の種類alt属性の考え方
内容を説明する写真写っている内容を簡潔に説明する
操作に関係する画像操作内容が分かる説明にする
装飾だけの画像必要に応じて空にすることもある
商品画像商品名や特徴が伝わる説明にする
グラフや図図が示している内容を説明する

たとえば、朝の海の写真であれば、alt属性には「朝日が差し込む海岸の写真」のように書くと、画像の内容が伝わります。

一方で、「画像」や「写真」だけでは、何の画像なのか分かりません。alt属性は、画像を見られない人にも内容が伝わるように書くことが大切です。

検索エンジンも画像の内容を理解する手がかりとしてalt属性を利用することがあります。そのため、alt属性はユーザーのためにも、ページの情報整理のためにも重要です。

width属性とheight属性で画像サイズを指定する

画像は、何も指定しない場合、画像ファイル本来の大きさで表示されることがあります。大きな写真をそのまま表示すると、ページ上で大きくなりすぎることがあります。

そこで、width属性やheight属性を使うと、画像の表示サイズを指定できます。

属性役割
width画像の表示幅を指定する
height画像の表示高さを指定する

width属性とheight属性には、ピクセル単位の数値を指定できます。たとえば、widthに240、heightに160を指定すると、幅240ピクセル、高さ160ピクセルで表示する指定になります。

ただし、元画像の縦横比と異なる値を指定すると、画像が横に伸びたり縦につぶれたりすることがあります。画像を自然に表示するには、元の比率を意識することが大切です。

サイズとtitle属性を指定した画像

次の例では、画像の幅と高さを指定し、title属性で補足情報も加えます。

title属性は、ブラウザによっては画像にマウスを重ねたときに補足説明として表示されます。

ファイル名: lesson16_2.html

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>画像サイズを指定する</title>
</head>
<body>
  <h1>小さく表示した風景写真</h1>
  <img src="images/morning-sea.png"
       width="240" height="160"
       alt="幅240ピクセル高さ160ピクセルで表示した朝の海"
       title="朝の海を小さめに表示しています">
</body>
</html>

ブラウザの表示例

ブラウザで表示すると、朝の海の画像が幅240ピクセル、高さ160ピクセルで表示されます。

指定内容
srcimages/morning-sea.png
width240
height160
alt幅240ピクセル高さ160ピクセルで表示した朝の海
title朝の海を小さめに表示しています

title属性は、補足説明として使えます。ただし、スマートフォンではマウスを重ねる操作がないため、重要な情報をtitle属性だけに頼るのは避けましょう。

大切な説明は本文やキャプションとして書き、title属性はあくまで補助的な情報として使うとよいでしょう。

図2:src属性、alt属性、width属性、height属性の役割

この図から分かること

この図から、imgタグでよく使う属性の役割が分かります。

src属性は、表示する画像ファイルの場所を指定します。alt属性は、画像が表示されないときや読み上げ環境で画像の内容を伝えるために使います。

width属性とheight属性は、画像の表示サイズを指定します。ただし、縦横比を無視して指定すると画像が不自然に伸びたり縮んだりするため、元画像の比率を意識することが大切です。

画像を表示するときは、単にsrc属性だけを指定するのではなく、alt属性もあわせて指定する習慣をつけておくと、より親切なHTMLになります。

figureとfigcaptionで画像に説明を付ける

記事やギャラリーの中では、画像の下に説明文を付けたいことがあります。たとえば、撮影場所、写真の内容、イラストの意味などを補足したい場合です。

このようなときに使えるのがfigureとfigcaptionです。

タグ役割
figure画像や図表など、本文から独立したまとまりを表す
figcaptionfigure内の画像や図表に説明文を付ける

figureは、画像とその説明文をひとまとまりとして扱うために使います。figcaptionは、figureの中でキャプションを表します。

画像そのものの代替説明はalt属性に書きます。一方、読者に見せる説明文はfigcaptionに書くと考えると分かりやすいです。

キャプション付きの画像を表示する

次の例では、figureとfigcaptionを使って、画像の下に説明文を付けます。

ファイル名: lesson16_3.html

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>キャプション付き画像</title>
</head>
<body>
  <h1>旅先で見た朝の海</h1>

  <figure>
    <img src="images/morning-sea.png" alt="朝日が反射する静かな海">
    <figcaption>早朝の海岸で撮影した、朝日が反射する風景写真</figcaption>
  </figure>
</body>
</html>

ブラウザの表示例

ブラウザで表示すると、「旅先で見た朝の海」という見出しの下に画像が表示され、その下に説明文が表示されます。

要素表示される内容
h1旅先で見た朝の海
img朝の海の画像
figcaption早朝の海岸で撮影した、朝日が反射する風景写真

figcaptionを使うと、画像と説明文の関係がHTMLとして分かりやすくなります。

記事本文の中で写真を紹介したいとき、ギャラリーページで作品説明を入れたいとき、図解に補足説明を付けたいときなどに便利です。

画像形式の特徴を知っておく

Webページで使う画像には、いくつかの形式があります。形式によって、得意な用途やファイルサイズ、画質の特徴が異なります。

形式拡張子特徴向いている用途
GIF.gif色数が少なく、簡単なアニメーションに対応小さなアイコン、簡単なアニメーション
JPEG.jpg、.jpeg写真に向いており、圧縮率が高い風景写真、人物写真、商品写真
PNG.png透過に対応し、文字や図形がくっきりしやすいロゴ、UI素材、図解
SVG.svg拡大しても劣化しにくいベクター形式アイコン、ロゴ、シンプルな図形
WebP.webp高圧縮で画質とのバランスがよい汎用的なWeb画像
AVIF.avif高い圧縮性能を持つ新しい形式対応ブラウザ向けの軽量画像

写真にはJPEG、透過が必要な画像にはPNG、アイコンやロゴにはSVG、軽量化したい画像にはWebPやAVIFが使われることがあります。

画像形式を選ぶときは、見た目の美しさだけでなく、ファイルサイズも意識することが大切です。画像が重すぎると、ページの読み込みが遅くなり、ユーザーが離れてしまう原因になることがあります。

srcsetとsizesで画面幅に合った画像を選ぶ

スマートフォン、タブレット、パソコンでは、画面の大きさや解像度が異なります。すべての環境で大きな画像だけを読み込むと、スマートフォンでは必要以上に重い画像を読み込んでしまうことがあります。

そこで使えるのがsrcset属性とsizes属性です。

属性役割
srcset複数の画像候補を指定する
sizes画像がどのくらいの幅で表示されるかの目安を伝える

srcset属性には、複数の画像ファイルとその幅を指定します。sizes属性には、画面幅に応じて画像がどのくらいの表示幅になるかを指定します。

ブラウザは、これらの情報をもとに、環境に合った画像を選んで読み込みます。

レスポンシブ画像を表示する

次の例では、犬の写真を画面幅に応じて切り替えられるようにします。imagesフォルダの中にdog-320.png、dog-640.png、dog-1280.pngがある想定です。

ファイル名: lesson16_4.html

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>レスポンシブ画像</title>
</head>
<body>
  <h1>公園でくつろぐ犬</h1>

  <img src="images/dog-320.png"
       srcset="images/dog-640.png 640w,
               images/dog-1280.png 1280w"
       sizes="(min-width: 600px) 50vw, 90vw"
       alt="公園の芝生でくつろぐ犬">
</body>
</html>

ブラウザの表示例

ブラウザは、画面幅や表示条件に応じて、dog-640.pngやdog-1280.pngなど、適した画像を自動的に選びます。

指定内容
src基本となる画像
srcset画像候補と画像幅
sizes表示幅の目安
alt画像の代替テキスト

src属性には、基本となる画像を指定します。srcset属性には、より大きい画像候補を並べます。

sizes属性の指定により、画面幅が600px以上の場合は表示幅の目安を50vw、それ以外では90vwと伝えています。vwは画面幅を基準にした単位です。

このように指定しておくと、ブラウザが必要に応じて適切な画像を選びやすくなります。

図3:レスポンシブ画像と画像形式の切り替え

この図から分かること

この図から、画像表示では画面サイズやブラウザの対応状況に合わせて画像を選ぶ考え方が分かります。

srcset属性を使うと、画面幅や解像度に応じて、ブラウザが適切なサイズの画像を選びやすくなります。スマートフォンには小さめの画像、パソコンには大きめの画像というように、無駄な読み込みを減らせます。

picture要素を使うと、AVIFやWebPなどの新しい画像形式に対応しているブラウザでは軽量な形式を使い、対応していない場合はJPEGなどに切り替えることができます。

画像はページの印象を大きく左右しますが、重すぎる画像は表示速度に影響します。きれいさと軽さのバランスを考えることが大切です。

pictureとsourceで画像形式を切り替える

ブラウザによっては、新しい画像形式に対応していない場合があります。たとえば、AVIFに対応していない環境では、AVIF画像を表示できないことがあります。

そこで使えるのがpicture要素です。picture要素の中でsourceを使うと、画像形式の候補を複数指定できます。

要素役割
picture複数の画像候補をまとめる
source条件に合う画像候補を指定する
img最終的に表示する画像、または代替画像を指定する

picture要素では、ブラウザが上から順番にsourceを確認し、対応している形式を選びます。どのsourceにも対応していない場合は、最後のimgが使われます。

pictureでAVIF、WebP、JPEGを切り替える

次の例では、山の写真をAVIF、WebP、JPEGの順で指定します。

imagesフォルダの中にmountain.avif、mountain.webp、mountain.jpgがある想定です。

ファイル名: lesson16_5.html

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>画像形式を切り替える</title>
</head>
<body>
  <h1>朝霧に包まれた森</h1>

  <picture>
    <source type="image/avif" srcset="images/forest.avif">
    <source type="image/webp" srcset="images/forest.webp">
    <img src="images/forest.jpg" alt="朝霧に包まれた山の風景">
  </picture>
</body>
</html>

ブラウザの表示例

ブラウザがAVIFに対応している場合は、mountain.avifが使われます。AVIFに対応していない場合は、次にWebPが確認されます。WebPにも対応していない場合は、最後に指定したJPEG画像が表示されます。

優先順位指定表示される条件
1forest.avifAVIFに対応している場合
2forest.webpAVIF非対応でWebPに対応している場合
3forest.jpg上の形式に対応していない場合

picture要素を使うと、新しい画像形式を活用しながら、対応していない環境にも配慮できます。

最後にimgを入れておくことが大切です。imgは、画像表示の最終的な受け皿になります。alt属性もこのimgに指定して、画像の代替テキストを用意します。

画像ファイル名とパスの確認

画像が表示されないときは、まずファイル名とパスを確認しましょう。

HTMLでは、ファイル名やフォルダ名が1文字違うだけでも画像が読み込めません。大文字と小文字の違いも環境によって影響することがあります。

確認する項目内容
フォルダ名imagesというフォルダ名が正しいか
ファイル名morning-sea.pngなどの名前が正しいか
拡張子.jpg、.png、.webpなどが合っているか
相対パスHTMLファイルから見た画像の場所が正しいか
画像の保存場所指定した場所に画像が実際にあるか

たとえば、画像ファイルがimagesフォルダにあるのに、src属性にmorning-sea.pngだけを書いていると、ブラウザはHTMLファイルと同じ場所から画像を探してしまいます。

この場合は、images/morning-sea.pngのように、フォルダ名を含めて指定する必要があります。

画像が表示されないときは、HTMLの書き方だけでなく、フォルダ構成もあわせて確認することが大切です。

imgタグと関連要素・属性を整理する

画像表示で使う主なタグ、要素、属性を整理しておきましょう。

タグまたは属性意味や用途備考
img画像を表示する終了タグなし
src画像ファイルの場所を指定する必須
alt代替テキストを指定する必須級
width画像の表示幅を指定する数値で指定できる
height画像の表示高さを指定する縦横比に注意する
title補足説明を指定する重要情報は本文にも書く
srcset複数の画像候補を指定するレスポンシブ画像で使う
sizes表示幅の目安を指定するsrcsetと組み合わせる
figure画像と説明をひとまとまりにする記事やギャラリーで便利
figcaption画像の説明文を表示するfigure内で使う
picture条件に応じて画像を切り替えるsourceと組み合わせる
source画像候補や形式を指定するpicture内で使う

最初にしっかり覚えたいのは、img、src、altです。画像を表示するにはsrc属性が必要で、画像の意味を伝えるにはalt属性が大切です。

そのあとで、width属性やheight属性によるサイズ指定、figureとfigcaptionによるキャプション、srcsetとsizesによるレスポンシブ対応、pictureとsourceによる画像形式の切り替えへと学習を広げると理解しやすくなります。

画像を使うときに意識したいこと

画像は、Webページの印象を大きく変える要素です。適切な画像を使うと、文章だけでは伝わりにくい雰囲気や内容を直感的に伝えられます。

ただし、画像を入れすぎたり、大きすぎる画像をそのまま読み込んだりすると、ページが重くなることがあります。画像は、内容に合ったものを選び、必要に応じてサイズや形式を工夫することが大切です。

意識したい点理由
alt属性を書く画像の意味を伝えやすくする
ファイル名を分かりやすくする管理しやすくなる
imagesフォルダにまとめるプロジェクト構成が整理される
画像サイズを意識するページの読み込みを軽くできる
画像形式を選ぶ用途に合った画質と軽さを選べる
キャプションを付ける画像の意図を読者に伝えやすい

HTMLだけでも画像は表示できますが、見た目をさらに整えるにはCSSが必要になります。画像の中央寄せ、余白、角丸、影、横並び配置、レスポンシブな表示調整などは、CSSに関する記事以降で解説します。

まずは、imgタグで画像を表示し、src属性で画像の場所を指定し、alt属性で画像の意味を伝える。この基本をしっかり押さえておくと、Webページに画像を安心して取り入れられるようになります。