HTML・CSS
HTML/CSS入門編|3章:画像を表示しよう
INDEX
目次

3章:画像を表示しよう

本章では、2章で学んだ基本的なテキストのマークアップと構造化の方法に加えて、HTML文書に画像を挿入する方法を解説します。

【3-1】imgタグを覚えよう

2章でマークアップしたHTML文書に画像を挿入することにより、コンテンツの内容を、より明確にわかりやすく伝えることができます。
以下は、2章で見出し、段落テキスト、箇条書きリストをマークアップした「pasta-recipe.html」に画像を挿入した際のブラウザ表示です。
画像を挿入したHTML文書のブラウザ表示
pasta-recipe.html(入門編2章で作成したHTMLファイルに画像を挿入)
 (14556)

imgタグとは
HTML文書に画像を挿入するために使用するタグはimgタグです。
 (14566)

  • img要素は領域指定を必要としない空要素です。
    • 終了タグはありません。
    • imgはimage(「画像」の意)の省略形です。
  • src属性alt属性は必須の属性です。
src属性とは
  • src属性は表示する画像を指定するための属性です。
    • srcはsource(「参照元」の意)の省略形です。
  • 表示する画像を指定するには、ファイルパスという決まった記述方法があります。
    • 次節でファイルパスの記述方法を解説します。
    • ファイルパスに関する知識は、次章のリンクの設定や、後に学ぶCSSにおいても使います。
  • ファイルパスの記述方法を理解して覚えることは、Webページ制作の学習において非常に重要で、ここを避けて通ることはできません。
alt属性とは
  • alt属性は、画像が表示されない環境(通信エラーなど)で閲覧した際、代わりに表示されるテキストを指定するための属性です。
    • 画像の意味を的確に伝える短い文章を設定することが大切です。
    • altはalternative text(「代替テキスト」の意)の略です。
alt属性の役割
     
  • 代替テキスト
    • 画像が読み込めない場合(通信エラーや画像の無効化設定時)に、画像の代わりとなるテキストを表示する。
  • SEO対策
    • alt属性で指定したテキストは、Googleなどの検索エンジンが検索結果を表示するための検索語句として利用される。
  • 視覚障がい者支援
    • alt属性で指定したテキストは、スクリーンリーダー(ブラウザの音声読み上げ機能)が読み上げる
以上のことから、適切なalt属性をimg要素に指定することが強く推奨されています。
■ alt属性の記述例
<img src="dogs.jpg" alt="5匹の子犬たち">
HTML/CSS入門編 サンプルコード3-1
■ ブラウザ表示
 (14622)

【3-2】ファイルパスの記述方法を学ぼう

ファイルパスとは

  • imgタグのsrc属性で表示する画像を指定する際、その画像ファイルがどこに置かれているかということを指示する必要があります。
    • そのような目的のファイルまでの経路のことをファイルパス(file path)といいます。
      • ファイルパスは省略してパスと呼ばれることもあります。
    • 画像の表示のみならず、今後学習していくリンク(ハイパーリンク)の記述や、CSSの記述においても必要とされる大変重要な表記方法ですので、しっかりと学習していきましょう。
絶対パスと相対パス
ファイルパスはその仕組みの違いにより、絶対パス相対パスの2種類に分類されます。
絶対パス

絶対パスとは、httpsから始まるURLを使って目的のファイル(参照先)までの経路(path)を指定する方法です。

  • インターネット上のファイルを直接参照する際に用いる記述方法です。
  • 画像ファイルを絶対パスで指定する場合は、あらかじめ画像をインターネット上のサーバーにアップロードしておかなければなりません。
  • 外部サイトへのリンク(外部リンク)を設定するときに使います。
■ 記述例
            	
                	<a href="https://www.webcoach.jp">WEBCOACH</a>
                
            
相対パス

相対パスとは、現在のファイル(参照元)から目的のファイル(参照先)までの経路(path)を、2つのファイルの位置関係を元に指定する方法です。

  • インターネットに接続されていないPC環境でも、サイト内の画像の表示やリンクの確認をすることが可能です。
  • サイト内部のファイルを指定する場合は、通常はこちらの相対パスを使います。
  • 相対パスの理解は、Web制作の学習において、大変重要なポイントとなります。
■ 記述例
            	
                	<img src="images/photo.jpg" alt="">
                
            
  • 本章では相対パスの記述方法を学びます。
  • 絶対パスの記述方法は次章で学習します。
演習を開始するにあたり、ファイルパス記述用の演習素材の準備をしましょう。
演習素材について
本章では、「3章画像を表示しよう」フォルダ内の演習データを使用します。
3章画像を表示しよう」フォルダの中には、「start」と「fin」フォルダが入っています。
  • 「3章画像を表示しよう」フォルダ
    • start:作業前のデータが入っています。
    • fin:完成データが入っています。
演習を行う際には、「start」フォルダ内のファイルを使用してください。
自分で書いたコードがうまく表示されないときは、「fin」フォルダ内の完成データとの違いを探してみると良いでしょう。

※「HTML/CSS入門編 はじめに - Webページのことを知ろう」の「【0-4】HTML/CSS 入門編 演習素材のダウンロード」節で、本教材の演習で使用するデータをまとめてダウンロードすることができます。

ファイル構成を確認しよう

「start」フォルダの中身を確認してください。
下の階層図が「start」フォルダ内のファイル構成です。
Webサイト制作においては、サイトを構成するファイルやフォルダが、どこに置かれているかということを、常に意識しながら作業を進める必要があります。
■ 「start」フォルダのファイル階層図
 (14682)

HTMLファイルは全部で4枚あります。
全てVS Codeで開いておきましょう。
  • index.html
  • dog.html
  • catフォルダ内のcat.html
  • rabbitフォルダ内のrabbit.html
今回の作業内容
次の作業を順番に行うことにより、ファイルパスの記述方法を学びます。
  1. index.htmlにanimals-photo.jpgを表示する。
  2. dog.htmlにdog-photo.jpgを表示する。
  3. cat.htmlにcat-photo.jpgを表示する。
  4. rabbit.htmlにrabbit-photo.jpgを表示する。
※ ファイルパスの記述方法をひととおり効率的に学ぶために、「start」フォルダ内のHTMLファイルや画像ファイルの置き場所は、一般的なWebサイトのファイル構成とは異なる変則的な状況にしてあります。
まずは、index.htmlをブラウザプレビューしてください。
■ index.htmlのブラウザプレビュー
 (14693)

imgタグを入力しよう

それでは、index.htmlの「ここに「animals-photo.jpg」を表示する。」のテキストを消去して、その代わりにimgタグを入力してみましょう。

  • imgタグはファイルパスを指定するためのsrc属性と代替テキストを指定するためのalt属性が必須です。
  • VS Codeで入力する場合は、要素名のimgを入力してからenter(return)キーで確定すれば、下記コードがすぐに書き込まれます。
<img src="" alt="">
HTML/CSS入門編 サンプルコード3-4
  • src属性の属性値として適切なファイルパスを記述することにより、目的の画像ファイルをHTML中に挿入することができます。

相対パスを記述して画像を表示しよう

相対パスの指定方法
  1. 同じ階層へのパス
  2. 下の階層へのパス
  3. 上の階層へのパス
  4. フォルダをまたいで指定するパス
  • サイト内部の画像ファイルを指定するためには、通常相対パス(relative path)を使います。
  • 相対パスは、HTMLファイルと目的の画像ファイルとの位置関係により指定方法が変わります。
  • 相対パスの指定方法は、大きく分類すると、上の4種類のパターンがあります。
    • この4種類のパターンの組み合わせにより、どのようなファイル構成のWebサイトにも対応することができます。
  • どの方法で記述する場合も、自分が今HTMLタグを書き込もうとしている現在のファイルと、目的のファイルが、PC内のどこに保存されているのかを、しっかりと確認しておく必要があります。
1. 同じ階層の画像を表示しよう
まずは、index.htmlにanimals-photo.jpgを表示します。
赤い矢印がパス(経路)を表しています。
  • 右のファイル構成図を見るとわかるように、index.htmlanimals-photo.jpgはフォルダで隔てられておらず、startフォルダ内に隣り合って置かれています。
  • このような2つのファイルの位置関係を「同じ階層」にあるといいます。
  • 相対パスでは、現在のファイルと同じ階層を「./(ドット、スラッシュ)」で表します。
  • ただし、「./」は省略可能ですので、同じ階層にあるファイルの相対パスを指定するときは、ファイル名のみを記述する方が一般的です。
同じ階層にあるファイルへの相対パス1
<img src="./animals-photo.jpg" alt="">
HTML/CSS入門編 サンプルコード3-5
■ index.htmlからanimals-photo.jpgまでの相対パス
同じ階層にあるファイルへの相対パス2
<img src="animals-photo.jpg" alt="">
HTML/CSS入門編 サンプルコード3-6
※「./」を省略してこのように記述する方が一般的です。
 (14715)

2. 下の階層の画像を表示しよう
次に、dog.htmldog-photo.jpgを表示します。
  • 現在のファイルであるdog.htmlからdog-photo.jpgまでは、imagesフォルダを経由しなければなりません。
  • このように、1つのフォルダ内部を通過するパス(経路)のことを、1つ下の階層へのパスといいます。
  • 現在のファイルよりも下の階層にあるファイルを指定するためには、目的のファイルに辿り着くまでに通過するフォルダ名を「/(スラッシュ)」で区切っていきます。
■ dog.htmlからdog-photo.jpgまでの相対パス
 (15109)

■ 1つ下の階層にあるファイルへの相対パス
<img src="images/dog-photo.jpg" alt="">
HTML/CSS入門編 サンプルコード3-7
考えてみよう!
例えば、下図のように目的のファイルが2つ下の階層に置かれている場合の相対パスはどうなるでしょうか?
  • これは、imagesフォルダ内にphotoフォルダが置かれ、その中にimage.jpgが入っているというファイル構成です。
  • index.htmlimage.jpgを表示するためのパスを考えてみてください。
  • このような場合は、目的のファイルに辿り着くまでのすべてのフォルダ名を順番に/(スラッシュ)」で区切っていけばよいので、以下のパスを記述します。
 2つ下の階層のファイルへの相対パス
<img src="images/photo/image.jpg" alt="">
 
3. 上の階層の画像を表示しよう
続いて、cat.htmlcat-photo.jpgを表示します。
  • 現在のファイルであるcat.htmlからcat-photo.jpgまでは、catフォルダの外部へ出ていくことにより辿り着きます。
  • このように、1つのフォルダの外部へ出ていくパス(経路)のことを、1つ上の階層へのパスといいます。
  • 現在のファイルよりも上の階層にあるファイルを指定するためには、目的のファイルに辿り着くまでに通過するフォルダの数だけ「../(ドット、ドット、スラッシュ)」を記述します。
  • ../」は1つ上の階層へ出るための記号です。
■ cat.htmlからcat-photo.jpgまでの相対パス
 (15146)

■ 1つ上の階層にあるファイルへの相対パス
<img src="../cat-photo.jpg" alt="">
HTML/CSS入門編 サンプルコード3-9
考えてみよう!

例えば、下図のように目的のファイルが2つ上の階層に置かれている場合の相対パスはどうなるでしょうか?

  • これは、panda-photo.jpgと同じ階層のhtmlフォルダ内にpandaフォルダが置かれ、その中にpanda.htmlが置かれているというファイル構成です。
  • panda.htmlpanda-photo.jpgを表示するためのパスを考えてみてください。
  • このような場合は、目的のファイルに辿り着くまでに通過するフォルダの数だけ「../」を繰り返し記述すればよいので、以下のパスを記述します。

2つ上の階層のファイルへの相対パス

<img src="../../panda-photo.jpg" alt="">
4. 階層をまたいで画像を表示しよう
最後に、rabbit.htmlrabbit-photo.jpgを表示します。
  • 現在のファイルであるrabbit.htmlからは、一旦rabbitフォルダの外部へ出てから、imagesフォルダの内部へ入るという経路でrabbit-photo.jpgまで辿り着くことができます。
  • このように、上の階層に出てから下の階層に入る場合は、2.と3.の相対パスの記述方法を組み合わせて指定します。
  • 現在のファイルから目的のファイルに至るまでに通過するフォルダがあれば、上の階層に出るときは「../」、下の階層へ入るときは「フォルダ名/」と順番に繋げて記述します
■ rabbit.htmlからrabbit-photo.jpgまでの相対パス
 (15186)

■ 階層をまたいだ相対パス1
<img src="../images/rabbit-photo.jpg" alt="">
HTML/CSS入門編 サンプルコード3-11
考えてみよう!

    例えば、下図のようなファイル構成を考えてみましょう。

  • これは、imagesフォルダとhtmlフォルダが同じ階層に置かれており、imagesフォルダ内のphotoフォルダ内にはkoala-photo.jpgが、htmlフォルダ内のkoalaフォルダ内にはkoala.htmlが入っているというファイル構成です。
  • koala.htmlkoala-photo.jpgを表示するためのパスを考えてみてください。
  • このような場合は、先述したように、現在のファイルから目的のファイルに至るまでに通過するフォルダがあれば、上の階層に出るときは「../」、下の階層へ入るときは「フォルダ名/」と順番に繋げて記述すればよいので、以下のパスを記述します。

■ 階層をまたいだ相対パス2

<img src="../../images/photo/koala-photo.jpg" alt="">

【3-3】練習問題

本章で学習した相対パスの記述方法を使い、入門編 2章「HTMLマークアップをしよう」で見出し、段落テキスト、箇条書きリストのマークアップをしたpasta-recipe.htmlに、imgタグを追加して、以下の2枚の画像ファイルを表示させてください。
その際、alt属性には適切な画像の代替テキストを指定してください。
正解はページ下部の解答で確認してください。
pasta-recipe.htmlに表示する画像
 (15214)

 (15215)

画像を表示前のブラウザプレビュー
 (15217)

画像を表示後のブラウザプレビュー
 (15219)

ファイル構成
 (15221)

以下の解答で正解を確認しましょう。

解答

■ peperoncino.jpgの表示
<img src="images/peperoncino.jpg" alt="ペペロンチーノのお皿">
HTML/CSS入門編 サンプルコード3-13
■ carbonara.jpgの表示
<img src="images/carbonara.jpg" alt="カルボナーラのお皿">
HTML/CSS入門編 サンプルコード3-14
これで「HTML/CSS入門編 3章 画像を表示しよう」の解説を終わります。
次の章に進みましょう。
WEBCOACH | キャリアチェンジまでの全てを学ぶマンツーマンWEBスクール
© 2020 by WEBCOACH