HTML講座 / img・alt・画像サイズを指定する

HTMLに画像を入れるには、imgのsrcに画像の場所を指定します。altにはその画像が文脈の中で伝える情報を書き、widthとheightには画像の実寸に対応する値を指定すると、読み込み前に表示領域を確保しやすくなります。

画像を用意してimgで表示する

次の画像をクリックすると元ファイルを開けます。ファイルを保存し、編集するindex.htmlと同じフォルダーに置いてください。例のコードはHTMLファイルのbodyの中へ入れます。

<img src="html-image-sample-lake-tree-1600-v1.webp"
     alt="A tree on a small island in a lake, with mountains beyond"
     width="1600" height="900">

湖の小島に立つ木と、その奥に見える山々

保存して再読み込みすると、湖と木の画像が表示されます。imagesフォルダーに置いた場合はsrc="images/html-image-sample-lake-tree-1600-v1.webp"のように直します。img自体には終了タグはありません。画像をクリックできることはaで囲む別の機能であり、画像表示だけではリンクにはなりません。パスの考え方はリンクと相対パスで確認できます。

altに何を書くか

altは代替テキストです。画像が見えない場合にも、その画像がこの場所で伝える意味や機能を分かるようにします。次の例の英語の説明は、木、湖、山という画像の情報を表しています。日本語のページなら、その役割に合う日本語へ置き換えます。

<img src="html-image-sample-lake-tree-1600-v1.webp"
     alt="A tree on a small island in a lake, with mountains beyond"
     width="1600" height="900">

単に「画像」と書いたり、検索キーワードを並べたりしません。近くの内容を繰り返す純粋な装飾ならalt=""が適切な場合もありますが、属性を省くこととは違います。重要な図やグラフでは主な情報を伝え、詳しい内容は近くの本文や表でも説明します。判断に迷ったらW3C WAIの代替テキスト判断フローを参照します。

実寸と表示サイズを区別する

画像は1600×900ピクセルです。width="1600" height="900"は縦横比を伝えますが、画像のピクセル数やダウンロード容量を減らす指定ではありません。本文の幅に収める場合は次のCSSを使えます。

img {
  max-width: 100%;
  height: auto;
}

このCSSはhead内のstyleまたはリンクしたCSSファイルに書きます。max-width: 100%で親領域より広がらないようにし、height: autoで比率を保ちます。小さいファイルを配信したい場合は、別途縮小した画像とsrcset・sizes・pictureを検討します。表示上小さくしただけで転送量が減ったとは判断しません。

画像が表示されないとき

srcのファイル名と拡張子、HTMLから見たフォルダー位置を順に確認し、画像URLだけを直接開いてみます。相対パスならHTMLファイルを移動していないかも調べます。画像を戻した後は、比率が変形していないか、狭い画面でも横にはみ出さないかを確認してください。見えるキャプションを付けたい場合はfigureとfigcaptionを使えます。属性の詳細はMDNのimg要素にあります。

같은 카테고리의 다른 글
HTML講座 / audio・video・iframeでメディアを埋め込む

HTML講座 / audio・video・iframeでメディアを埋め込む

音声、動画、外部文書の埋め込みを学びます。字幕ファイル、代替リンク、画面幅への対応と、ファイル形式や提供元の制限による読み込み失敗の確認方法も説明します。

HTML講座 / セマンティック要素でページの領域を分ける

HTML講座 / セマンティック要素でページの領域を分ける

header、nav、main、article、section、aside、footerの役割を学びます。見た目の配置と意味を区別し、複数のナビゲーションを識別する方法も紹介します。

HTML講座 / HTMLのエラーを探して文書を検査する

HTML講座 / HTMLのエラーを探して文書を検査する

Nu HTML Checkerの使い方と、重複IDを含む失敗例の修正を学びます。エラー位置の読み方、保存したファイルとサーバーの出力、構文と実際の操作の違いも解説します。

HTML講座 / リンクの作成、相対パスとページ内移動

HTML講座 / リンクの作成、相対パスとページ内移動

aとhrefによるリンク、絶対URLと相対URL、ページ内の移動を学びます。新しいタブ、メール、ダウンロードの条件と、三つのファイルでパスを確認する実習も紹介します。

HTML講座 / 要素・タグ・属性とHTMLの基本文法

HTML講座 / 要素・タグ・属性とHTMLの基本文法

開始タグと終了タグ、空要素、属性、入れ子、コメントの書き方を学びます。真偽属性や特殊文字の注意点と、ブラウザー表示だけでは判断できない文法エラーも説明します。

HTML講座 / メール・数値・日付・選択肢に合うinputの型

HTML講座 / メール・数値・日付・選択肢に合うinputの型

email、number、date、checkbox、radioの使い分けを学びます。見える入力UIと送信値、初期値と現在値の違いを、フォームデータの確認とともに説明します。

HTML講座 / textarea・select・option・buttonを使う

HTML講座 / textarea・select・option・buttonを使う

複数行入力、選択メニュー、送信・リセット・通常ボタンを使い分けます。表示ラベルと送信値、初期値と現在値を実際のフォームで比較する方法も紹介します。

HTML講座 / labelとinputを正しく関連付ける

HTML講座 / labelとinputを正しく関連付ける

labelのforとinputのidを対応させる方法を学びます。idと送信時のnameの違い、重複IDの問題、placeholderがラベルの代わりにならない理由も説明します。

HTML講座 / ol・ul・dlと入れ子のリスト

HTML講座 / ol・ul・dlと入れ子のリスト

順序付きリスト、箇条書き、用語と説明のリストを使い分けます。番号の開始位置や逆順表示、リスト項目の中にサブリストを置く正しい構造も学びます。

HTML講座 / HTMLとは何か、Webページでの役割を理解する

HTML講座 / HTMLとは何か、Webページでの役割を理解する

HTMLで文書の意味と構造を表す方法を、CSS・JavaScriptとの違いとともに学びます。実際にHTMLファイルを保存して、ブラウザーで確認する手順も紹介します。