HTML-CSS 入門講座

HTML-CSS 入門講座

こんにちは!
今日も頑張ろう

Lesson-3
HTML でコンテンツを追加しましょう

目次

L3.1 はじめに

L3.1.1 概要

本章では、Web ページに各種コンテンツを追加する場合に使用する要素を説明します。

  • 埋め込み型コンテンツ要素
  • テーブル要素
  • フォーム要素
  • インタラクティブ要素
  • スクリプティング要素

L3.2 埋め込み型コンテンツ

L3.2.1 picture 要素(複数メディアリソース)

<picture> 複数メディアリソースコンテンツ </picture>

特定の画像に対して複数のリソースを提供可能なコンテナを配置します。具体的には、一つの img 要素に対して複数の source 要素を割り当てる親要素になります。表示する環境によって最適な画像を選択するために使用します。picture 要素に対応していない環境では、img 要素の src 属性で指定された画像ファイルのパスが優先されます。

使用上の注意事項

  • レイアウトの初期値はインラインレベルです。文章の改行に影響を与えません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

ビューポートの幅が 640px 以下の場合は、source 要素で指定した画像が読み込まれ、それ以外の場合は、img 要素で指定した画像が読み込まれます。

HTML例


<picture>
	<img src="images/sample1.jpg" alt="Sample Image" width="600" height="400">
	<source srcset="images/sample2.jpg" media="(max-width: 640px)">
</picture>

L3.2.2 img 要素(画像)初心者向け

<img src="画像ファイルのパス" 
	alt="代替テキスト" 
	width="横方向ピクセル値" 
	height="縦方向ピクセル値" 
	loading="画像の読み込み方" 
	decoding="画像デコード時のヒント" 
	srcset="画像選択リスト" 
	sizes="画像サイズリスト">

ページの中に画像の埋め込みを定義します。src 属性で表示する画像ファイルを指定し、alt 属性で代替テキストを指定します。代替テキストは、なんらかの原因で画像が表示できない場合に代わりに表示する文字列になります。代替テキストはアクセシビリティの観点で必ず指定するようにしてください。

width 属性と height 属性を使用して画像の縦横比を明示しておくことが推奨されています。縦横比を明示しておくことでブラウザが早期に画像を表示する領域を確保することが可能になります。また、実際に表示される大きさは、スタイルシート(CSS)で指定することができます。この場合は、画像の縦横比が変更されるのを防ぐために高さに auto を指定する必要があります。

sizes 属性と srcset 属性を使用してビューポート幅によって表示する画像ファイルの切り替えが可能になります。表示する画像の切り替えは、picture 要素と source 要素を使用しても実現可能なので状況によって使い分けてください。

主な固有属性

src
表示する画像ファイルのパスを指定します。
alt
表示する画像ファイルの代替テキストを指定します。代替テキストは、なんらかの原因で画像が表示できない場合に代わりに表示する文字列になります。
width
画像の横方向の単位なしのピクセル値を指定します。この値を指定しておくことでブラウザは画像を読み込む前に縦横比を計算し表示領域を確保することができます。
height
画像の縦方向の単位なしのピクセル値を指定します。この値を指定しておくことでブラウザは画像を読み込む前に縦横比を計算し表示領域を確保することができます。
loading
画像の読み込み方を指定します。
eager
画像の配置箇所が表示領域に入る前から読み込みを開始します。(初期値)
lazy
画像の配置箇所が表示領域に入るまで読み込みを遅延します。
decoding
画像をデコードする時のヒントを指定します。
sync
他のコンテンツと同期的にデコードします。
async
他のコンテンツと非同期的にデコードします。
auto
ブラウザの規定値に従います。
srcset
利用可能な画像のソースセットを指定します。画像ファイルへのパスとサイズを並べて指定することで、sizes 属性で指定した条件に一致したものを採用させることができます。
sizes
srcset 属性で指定されたソースの中から表示するのに相応しいサイズを提案します。値はメディア環境と採用するソースを指定します。複数を列挙することで条件に一致するものをブラウザが採用します。
usemap
イメージマップを作成する時に map 要素と紐付けるイメージマップ名を指定します。イメージマップ名は、map 要素の name 属性で指定した名前にハッシュ(#)を付与して指定してください。

使用上の注意事項

  • レイアウトの初期値はインラインレベルです。文章の改行に影響を与えません。
  • この要素は空要素です。終了タグはありません。
  • img は、image の略称です。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<img src="images/sample1.jpg" alt="Sample Image" width="600" height="400">

高解像度ディスプレイ(Retina)の場合に解像度の高い画像ファイルを選択できるようになります。以下の例は、srcset 属性の画像ファイルのパスの後ろに指定されている 2x は二倍の解像度が条件のファイルであることを示します。

HTML例


<img src="images/sample1.jpg" srcset="images/sample2.jpg 2x" alt="Sample Image">

ビューポートの幅によって画像ファイルを選択できるようになります。以下の例は、400px 以下であれば 200px の画像を表示し、それ以外の場合は、400px の画像を表示するように sizes 属性で指定しています。srcset 属性の画像ファイルのパスの後ろに指定されている 200w や 400w は、ソースの幅を示します。

HTML例


<img src="images/sample1.jpg" 
	srcset="images/sample2.jpg 200w, images/sample3.jpg 400w" 
	sizes="(max-width: 400px) 200px, 400px" alt="Sample Image">

表示サンプル

HTML


<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HTML img サンプル</title>
<style>
body {
	font-family: sans-serif;
	margin: 0;
}
.container {
	border: #ccc 1px solid;
}
</style>
</head>
<body>
	<div class="container">
		<img src="images/sample1.jpg" width="320" height="240" alt="赤べこ">
		<img src="images/sample2.jpg" width="320" height="240" alt="うさぎ">
	</div>
</body>
</html>

L3.2.3 iframe 要素(インラインフレーム)初心者向け

<iframe src="インラインフレーム表示ファイルのパス" 
	width="横方向ピクセル値" 
	height="縦方向ピクセル値" 
	srcdoc="インラインフレームに表示するHTML" 
	name="インラインフレームの名前"> 
	iframe要素が未サポート時の代替テキスト </iframe>

ページの中にインラインフレームの作成を定義します。インラインフレームとは、表示しているページの中に別のページを埋め込むための機能です。

開始タグと終了タグの間に「iframe要素が未サポート時の代替テキスト」を指定することができます。これは、iframe 要素をサポートしていないブラウザの時に表示される文字列になりますが、現時点では主要なブラウザは iframe 要素をサポートしていますので未記載で問題ありません。

主な固有属性

src
インラインフレームに表示するページファイルのパスを指定します。
width
インラインフレームの横方向の単位なしのピクセル値を指定します。規定値は、300 です。この値はスタイルシート(CSS)で上書きすることができます。
height
インラインフレームの縦方向の単位なしのピクセル値を指定します。規定値は、150 です。この値はスタイルシート(CSS)で上書きすることができます。
srcdoc
インラインフレームに表示する HTML を直接指定します。本属性が指定された場合は、src 属性で指定したページ内容は上書きされます。また、ブラウザが本属性をサポートしていない場合は、src 属性で指定したページ内容が有効になります。本属性で HTML を指定する場合に、HTML 内に二重引用符(")が含まれる場合は、特殊文字(&quot;)での指定が必要になります。。
name
インラインフレームの名前を指定します。

使用上の注意事項

  • レイアウトの初期値はインラインレベルです。文章の改行に影響を与えません。
  • iframe は、inline frame の略称です。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<iframe src="https://html-css.hamaya2020.com/" width="600" height="400"></iframe>

表示サンプル

HTML


<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HTML iframe サンプル</title>
<style>
body {
	font-family: sans-serif;
	margin: 0;
}
.container {
	border: #ccc 1px solid;
}
.container iframe {
	max-width: 800px;
	width: 100%;
}
</style>
</head>
<body>
	<div class="container">
		<iframe src="https://sl-gallery.hamaya2020.com/" width="800" height="500" title="フレームサンプル">インラインフレームがサポートされているブラウザで見てください。</iframe>
	</div>
</body>
</html>

L3.2.4 embed 要素(外部コンテンツの埋め込み)

<embed src="外部コンテンツファイルのパス" 
	type="MIMEタイプ" 
	width="横方向ピクセル値" 
	height="縦方向ピクセル値">

ページの中に外部コンテンツの埋め込みを定義します。指定された外部コンテンツは、ブラウザにインストールされているプラグインによって再生されるため表示する環境によって対応していない場合があるので注意が必要です。

表示する環境の差異を最小限にするためには、embed 要素よりも object 要素や iframe 要素の採用を検討すべきかもしれません。

主な固有属性

src
外部コンテンツファイルのパスを指定します。
type
再生する外部コンテンツファイルの MIME タイプを指定します。
width
外部コンテンツの横方向の単位なしのピクセル値を指定します。
height
外部コンテンツの縦方向の単位なしのピクセル値を指定します。

使用上の注意事項

  • レイアウトの初期値はインラインレベルです。文章の改行に影響を与えません。
  • この要素は空要素です。終了タグはありません。
  • embed は、embedding の略称です。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<embed src="video/sample1.mp4" type="video/mp4" width="600" height="400">

L3.2.5 object 要素(外部リソースオブジェクトの埋め込み)

<object data="外部リソースファイルのパス" 
	type="MIMEタイプ" 
	width="横方向ピクセル値" 
	height="縦方向ピクセル値" 
	form="form要素との関連付け" 
	name="外部リソースの名前">
	object 要素が未サポート時の代替テキスト </object>

ページの中に外部リソースの埋め込みを定義します。本要素は、img 要素や embed 要素と違って終了タグを持っているため、本要素を未サポートのブラウザで表示した時の代替テキストを指定することができます。

外部リソースとして想定されているのは、画像、動画、音声といったメディアファイルや PDF や HTML 以外の文書ファイルなどです。外部リソースの埋め込みは、data 属性と type 属性で指定しますがプラグインを介して操作するようなリソースの場合は、本要素の配下に param 要素を配置して適切なパラメーターの設定を行います。

開始タグと終了タグの間に「object 要素が未サポート時の代替テキスト」を指定することができます。これは、object 要素をサポートしていないブラウザの時に表示される文字列になりますが、現時点では主要なブラウザは object 要素をサポートしていますので未記載で問題ありません。

主な固有属性

data
外部リソースファイルのパスを指定します。data 属性と type 属性は、どちらかひとつが必須となります。
type
data 属性で読み込む外部リソースの種別を MIME タイプで指定します。data 属性と type 属性は、どちらかひとつが必須となります。
width
外部リソースの横方向の単位なしのピクセル値を指定します。
height
外部リソースの縦方向の単位なしのピクセル値を指定します。
form
form 要素と関連付けられる場合に対象の id 名と一致する名前を指定します。
name
外部リソースの名前を指定します。

使用上の注意事項

  • レイアウトの初期値はインラインレベルです。文章の改行に影響を与えません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<object data="video/sample1.mp4" type="video/mp4" width="600" height="400"></object>

object 要素をサポートしていないブラウザ用の代替テキストには画像ファイルを指定することもできます。

HTML例


<object data="video/sample1.mp4" type="video/mp4" width="600" height="400">
	<img src="images/sample1.jpg" alt="Video Title" width="600" height="400">
</object>

PDF ファイルなどを埋め込む場合は、以下のように指定します。

HTML例


<figure>
	<object data="docs/sample1.pdf" type="application/pdf" width="600" height="400"></object>
	<figcaption>〇〇〇〇報告書</figcaption>
</figure>

L3.2.6 video 要素(動画コンテンツ)初心者向け

<video src="動画ファイルのパス" 
	width="横方向ピクセル値" 
	height="縦方向ピクセル値" 
	controls 
	poster="画像ファイルのパス" 
	autoplay 
	loop 
	muted 
	playsinline 
	preload="動画ファイル読み込み時の動作">
	video 要素が未サポート時の代替テキスト </video>

ページの中に動画の埋め込みを定義します。src 属性で表示する動画ファイルを指定します。

動画を再生する条件を controls 属性(動画の再生、停止などを制御するコントール表示)、poster 属性(動画が再生可能になるまでに表示する画像)、autoplay 属性(自動再生)、loop 属性(繰り返し再生)、muted 属性(初期消音)、playsinline 属性(インライン再生)、preload 属性(動画読み込み時の振る舞い)で指定します。

開始タグと終了タグの間に「video 要素が未サポート時の代替テキスト」を指定することができます。これは、video 要素をサポートしていないブラウザの時に表示される文字列を指定します。また、ブラウザが動画ファイルのファイル形式に対応していない場合を想定して、video 要素の子要素に source 要素を指定して複数のメディア形式を提供することもできます。ブラウザは、上から順に再生可能な形式を探して表示メディアを決定します。

主な固有属性

src
動画ファイルのパスを指定します。
width
動画再生フレームの横方向の単位なしのピクセル値を指定します。
height
動画再生フレームの縦方向の単位なしのピクセル値を指定します。
controls
動画の再生、一時停止、音量などの制御インタフェースを表示します。値のない論理値です。
poster
動画が再生可能になるまでに表示する画像ファイルのパスを指定します。本属性を指定しなかった場合は、再生可能になるまで何も表示されません。
autoplay
動画が再生可能になった時点で自動的に再生を開始します。値のない論理値です。
loop
動画を最後まで再生した後に自動的に先頭に戻ります。値のない論理値です。
muted
動画再生時の初期状態が無音になります。値のない論理値です。
playsinline
動画をインラインで再生します。多くのブラウザは規定値でインライン再生を行いますがブラウザによってはフルスクリーンで再生されるものもあります。値のない論理値です。
preload
動画ファイルを読み込みに関するブラウザの振る舞いを指定します。
none
事前の読み込みを行いません。
metadata
メタデータだけを読み込みます
auto
事前の読み込みを行います。

使用上の注意事項

  • レイアウトの初期値はインラインレベルです。文章の改行に影響を与えません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<video src="video/sample1.mp4" controls></video>

動画を自動で再生させ、自動で繰り返し再生します。

HTML例


<video src="video/sample1.mp4" controls autoplay loop></video>

video 要素をサポートしていないブラウザ用の代替テキストには画像ファイルを指定することもできます。

HTML例


<video src="video/sample1.mp4" controls width="600" height="400">
	<img src="images/sample1.jpg" alt="Video Title" width="600" height="400">
</object>

複数のメディア形式を指定する場合、以下のように指定します。

HTML例


<video controls>
	<source src="video/sample1.webm" type="video/webm">
	<source src="video/sample1.mp4" type="video/mp4">
	<source src="video/sample1.mov" type="video/quicktime">
	<p>お使いのブラウザでは、この動画を再生できません。</p>
</video>

L3.2.7 audio 要素(音声コンテンツ)

<audio src="音声ファイルのパス" 
	controls 
	autoplay 
	loop 
	muted 
	preload="音声ファイル読み込み時の動作">
	audio 要素が未サポート時の代替テキスト </audio>

ページの中に音声の埋め込みを定義します。src 属性で再生する音声ファイルを指定します。

動画を再生する条件を controls 属性(音声の再生、停止などを制御するコントール表示)、autoplay 属性(自動再生)、loop 属性(繰り返し再生)、muted 属性(初期消音)、preload 属性(音声読み込み時の振る舞い)で指定します。

開始タグと終了タグの間に「audio 要素が未サポート時の代替テキスト」を指定することができます。これは、audio 要素をサポートしていないブラウザの時に表示される文字列を指定します。また、ブラウザが音声ファイルのファイル形式に対応していない場合を想定して、audio 要素の子要素に source 要素を指定して複数のメディア形式を提供することもできます。ブラウザは、上から順に再生可能な形式を探して再生メディアを決定します。

主な固有属性

src
音声ファイルのパスを指定します。
controls
音声の再生、一時停止、音量などの制御インタフェースを表示します。値のない論理値です。
autoplay
音声が再生可能になった時点で自動的に再生を開始します。値のない論理値です。
loop
音声を最後まで再生した後に自動的に先頭に戻ります。値のない論理値です。
muted
音声再生時の初期状態が無音になります。値のない論理値です。
preload
音声ファイルを読み込みに関するブラウザの振る舞いを指定します。
none
事前の読み込みを行いません。
metadata
メタデータだけを読み込みます
auto
事前の読み込みを行います。

使用上の注意事項

  • レイアウトの初期値はインラインレベルです。文章の改行に影響を与えません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<audio src="audio/sample1.mp3" controls></audio>

音声を自動で再生させ、自動で繰り返し再生します。

HTML例


<audio src="audio/sample1.mp3" controls autoplay loop></audio>

複数のメディア形式を指定する場合、以下のように指定します。

HTML例


<audio controls>
	<source src="audio/sample1.m4a" type="audio/aac">
	<source src="audio/sample1.ogg" type="audio/ogg">
	<source src="audio/sample1.mp3" type="audio/mpeg">
	<p>お使いのブラウザでは、この音声を再生できません。</p>
</audio>

L3.2.8 source 要素(メディアソース)

<source src="動画・音声ファイルのパス" 
	type="MIMEタイプ" 
	srcset="画像ファイルのパスリスト" 
	sizes="画像表示幅" 
	media="メディア・クエリー" 
	width="横方向ピクセル値" 
	height="縦方向ピクセル値">

画像・動画・音声などのメディアリソースを定義します。picture 要素、video 要素、audio 要素の子要素として配置し条件によって使用するメディアを選択可能にします。

一般的には、複数のメディアを列挙しておき、表示する端末・ブラウザの種類や画面の幅などのユーザー環境によって使用するメディアを切り替えることができます。

主な固有属性

src
動画・音声ファイルのパスを指定します。親要素が video 要素、audio 要素の場合は必須です。親要素が picture の場合は指定できません。
type
メディアファイルの種別を MIME タイプで指定します。
srcset
利用可能な画像のソースをカンマ(,)で区切って指定します。画像ファイルへのパスとサイズを並べて指定することで表示する条件に一致したものを採用させることができます。親要素が picture の場合に指定できます。
sizes
最終的に画像が表示される幅をカンマ(,)で区切って指定します。この値は、srcset 属性で指定した画像を使用する時にブラウザがページのレイアウトを行うために使用します。親要素が picture の場合に指定できます。
media
ソースが意図したメディア・クエリーを指定します。メディア・クエリーは、端末の特性を指定することで表示する画像の選択を可能にします。親要素が picture の場合に指定できます。
width
画像の横方向の単位なしのピクセル値を指定します。この値を指定しておくことでブラウザは画像を読み込む前に縦横比を計算し表示領域を確保することができます。親要素が picture の場合に指定できます。
height
画像の縦方向の単位なしのピクセル値を指定します。この値を指定しておくことでブラウザは画像を読み込む前に縦横比を計算し表示領域を確保することができます。親要素が picture の場合に指定できます。

使用上の注意事項

  • この要素は可視化されません。親要素で読み込まれるメディアの候補を示すだけです。
  • この要素は空要素です。終了タグはありません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

ビューポートの幅が 640px 以下の場合は、source 要素で指定した画像が読み込まれ、それ以外の場合は、img 要素で指定した画像が読み込まれます。

HTML例


<picture>
	<img src="images/sample1.jpg" alt="Sample Image" width="600" height="400">
	<source srcset="images/sample2.jpg" media="(max-width: 640px)">
</picture>

複数の画像の中から画面の幅によって条件に合致する画像が読み込まれます。

HTML例


<picture>
	<source srcset="images/sample1.jpg" media="(max-width: 400px)">
	<source srcset="images/sample2.jpg" media="(max-width: 600px)">
	<source srcset="images/sample3.jpg" media="(max-width: 800px)">
	<img src="images/sample4.jpg" alt="Sample Image">
</picture>

複数の動画ファイルから条件に合うメディアを選択して再生します。

HTML例


<video controls>
	<source src="video/sample1.webm" type="video/webm">
	<source src="video/sample1.mp4" type="video/mp4">
	<source src="video/sample1.mov" type="video/quicktime">
	<p>お使いのブラウザでは、この動画を再生できません。</p>
</video>

複数の音声ファイルから条件に合うメディアを選択して再生します。

HTML例


<audio controls>
	<source src="audio/sample1.m4a" type="audio/aac">
	<source src="audio/sample1.ogg" type="audio/ogg">
	<source src="audio/sample1.mp3" type="audio/mpeg">
	<p>お使いのブラウザでは、この音声を再生できません。</p>
</audio>

L3.2.9 track 要素(字幕・キャプション)

<track src="テキストトラックファイルのパス" 
	kind="テキストデータ種別" 
	srclang="テキストデータ言語" 
	label="テキストトラックの名前" 
	default="優先トラック">

動画・音声などのコンテンツにテキストトラックを定義します。メディアの埋め込み要素にキュー、字幕、キャプション、メタデータなどを追加します。video 要素、audio 要素の子要素として配置します。

テキストトラックは、WebVTT(.vtt)形式で保存されたファイルのパスを src 属性で指定します。

主な固有属性

src
テキストトラックファイル(.vtt)のパスを指定します。
kind
テキストデータの種別を指定します。
subtitles
翻訳字幕を提供します。字幕には追加コンテンツや付加的な背景情報を含む場合があります。
captions
書写あるいは音声の字幕を提供します。音楽のキューやサウンドエフェクトといった非言語情報を含む場合があります。
descriptions
動画コンテンツの説明を提供します。目が不自由な場合や動画を視聴できない場合に適しています。
chapters
チャプタータイトルを提供します。ユーザーがメディアリソースを操作する場合に使用することを意図としています。
metadata
スクリプトが使用するトラック情報です。ユーザーには見えません。
srclang
テキストデータの言語を指定します。kind 属性に subtitles を指定した場合は必須です。
label
テキストトラックの一覧表示時にユーザーに見せるテキストトラックのタイトルを指定します。
default
複数のテキストトラックが存在する場合に優先的に使用するものを指定します。メディア要素ごとに一つだけ指定でき、ユーザーが別のとタックを指定している場合は無効になります。

使用上の注意事項

  • レイアウトには影響を与えません。メディアソースに対してテキストデータを与えます。
  • この要素は空要素です。終了タグはありません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<video src="video/sample1.mp4" controls>
	<track src="track/sample1.vtt" kind="chapters" srclang="en" label="Chapter1">
</video>

L3.2.10 map 要素(複数リンク)

<map name="イメージマップ名"> 複数リンクコンテンツ </map>

一つの画像に複数のリンク先を定義します。イメージマップなどを作る時に使用します。map 要素は、イメージマップの名称を指定します。

イメージマップは、以下の手順で作成します。

  1. map 要素の name 属性を使用してでイメージマップの名称を決めます。
  2. map 要素の子要素にリンク先の数分の area 要素を配置します。
  3. area 要素でリンク先とリンク領域の形状・位置座標を指定します。
  4. img 要素 の src 属性と usemap 属性で使用する画像と適用するイメージマップ名を指定します。

主な固有属性

name
イメージマップ名を指定します。

使用上の注意事項

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • この要素は可視化されません。img 要素に与える仮想マップを定義するのみです。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<img src="images/map.png" usemap="#map1" width="450" height="50" alt="map1">
<map name="map1">
	<area href="#area1" shape="rect" coords="20,3,70,47" alt="area1">
	<area href="#area2" shape="rect" coords="90,3,165,47" alt="area2">
	<area href="#area3" shape="rect" coords="193,3,257,47" alt="area3">
	<area href="#area4" shape="rect" coords="285,3,337,47" alt="area4">
	<area href="#area5" shape="rect" coords="358,3,425,47" alt="area5">
</map>

L3.2.11 area 要素(イメージマップ領域)

<area href="リンク先URL" 
	target="リンク先を開く環境" 
	rel="リンク先との関係" 
	usemap="マップ名" 
	shape="エリア形状" 
	coords="エリア範囲" 
	alt="代替テキスト" 
	download 
	hreflang="リンク先言語">

一つの画像に複数のリンク先を定義します。イメージマップなどを作る時に使用します。area 要素は、リンク先とリンク領域の形状・位置座標を指定します。

イメージマップは、以下の手順で作成します。

  1. map 要素の name 属性を使用してでイメージマップの名称を決めます。
  2. map 要素の子要素にリンク先の数分の area 要素を配置します。
  3. area 要素でリンク先とリンク領域の形状・位置座標を指定します。
  4. img 要素 の src 属性と usemap 属性で使用する画像と適用するイメージマップ名を指定します。

主な固有属性

href
リンク先 URL を指定します。リンク先がページ内の特定の場所になる場合は、ハッシュ(#)に続けて id 名を指定します。メールアドレスや電話番号を指定することもできます。
target
リンク先を開くフレーム名やウィンドウ名を指定します。以下の名前は特別な意味を持ちます。
_self
同じウィンドウで開きます。(初期値)
_blank
新しいタブまたは新しいウィンドウで開きます。
rel
リンク先との関係を指定します。
noopener
外部サイトへ移動する場合に発信元の文章改ざんを防ぎます。リンク先が信頼できない場合は指定してください。
noreferrer
Referer ヘッダー情報を発信したくない場合に指定します。リンク先が信頼できない場合は指定してください。
usemap
マップ名を設定する時に名前を指定します。
shape
エリア形状を指定します。
default
全体を指定します。
rect
四角形を指定します。
circle
円形を指定します。
poly
多角形を指定します。
coords
shape 属性で指定した形状に従ったマップアリアの座標範囲を単位なしのピクセル値で指定します。
default
指定できません。
rect
x1,y1,x2,y2 の形式で長方形の左上と右下の座標を指定します。
circle
x,y,radius の形式で円の中央の座標と半径を指定します。
poly
x1,y1,x2,y2,..,xn,yn の形式で多角形の角の座標を指定します。先頭と末尾の座標が同じでない場合は最後に座標を追加して多角形を閉じます。
alt
代替テキストを指定します。
download
リンク先のファイルがダウンロードするものである場合に指定します。
hreflang
リンク先の言語を表す場合に指定します。

使用上の注意事項

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • この要素は可視化されません。img 要素に与える仮想マップを定義だけです。
  • この要素は空要素です。終了タグはありません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<img src="images/map.pngf" usemap="#map1" width="450" height="50" alt="map1">
<map name="map1">
	<area href="#area1" shape="rect" coords="20,3,70,47" alt="area1">
	<area href="#area2" shape="rect" coords="90,3,165,47" alt="area2">
	<area href="#area3" shape="rect" coords="193,3,257,47" alt="area3">
	<area href="#area4" shape="rect" coords="285,3,337,47" alt="area4">
	<area href="#area5" shape="rect" coords="358,3,425,47" alt="area5">
</map>

L3.2.12 math 要素(MathML レンダリング)

<math display="レンダリング方法"> MathMLコンテンツ </math>

数式を記述するための MathML を定義します。MathML を使用することでページ上に数式を記述することができます。

本項では、MathML の詳細説明(子要素を含む)は省略しますので関連サイトや関連図書を参照してください。

主な固有属性

display
MathML マークアップをレンダリングする方法を指定します。初期値は、inline です。
block
定義した数式をテキストのスパンの外にある独自ブロックに表示します。また、math-style プロパティは、normal に設定されます。
inline
定義した数式をテキストのスパンの中に表示します。また、math-style プロパティは、comoact に設定されます。

使用上の注意事項

使用例

HTML例


<p>
	The infinite sum:
	<math display="block">
		<mrow>
			<munderover>
				<mo>∑</mo>
				<mrow>
					<mi>n</mi>
					<mo>=</mo>
					<mn>1</mn>
				</mrow>
				<mrow>
					<mo>+</mo>
					<mn>∞</mn>
				</mrow>
			</munderover>
			<mfrac>
				<mn>1</mn>
				<msup>
					<mi>n</mi>
					<mn>2</mn>
				</msup>
			</mfrac>
		</mrow>
	</math>
</p>
<p>
	is equal to the real number:
	<math display="inline">
		<mfrac>
			<msup>
				<mi>π</mi>
				<mn>2</mn>
			</msup>
			<mn>6</mn>
		</mfrac>
	</math>
</p>

表示例

The infinite sum: n = 1 + 1 n 2

is equal to the real number: π 2 6

L3.2.13 svg 要素(SVG レンダリング)

<svg viewBox="描画領域定義" 
	width="要素の幅" 
	height="要素の高さ" 
	x="X軸の相対位置" 
	y="Y軸の相対位置" 
	preserveAspectRatio="アスペクト比" 
	fill="塗りつぶしの色" 
	fill-opacity="塗りつぶしの透明度" 
	stroke="線の色" 
	stroke-opacity="線の透明度" 
	stroke-width="線の幅" 
	stroke-dasharray="線の破線パターン" 
	stroke-linecap="線の終端形状" 
	stroke-linejoin="線のつなぎめ形状"> 
	SVGコンテンツ </svg>

スケーラブルベクターグラフィックス(SVG)を定義します。SVG を使用することで拡大・縮小しても画像品質を損なうことなく表示することができます。

SVG での描画を行うための領域には、ビューボックス(描画エリア)とビューポート(表示エリア)があります。ビューボックスは、viewBox 属性で定義し、ビューポートは、width 属性と height 属性で定義します。

本項では、SVG の詳細説明(子要素を含む)は省略しますので関連サイトや関連図書を参照してください。

主な固有属性

viewBox
ビューボックス(描画エリア)を定義します。「X軸最小値 Y軸最小値 エリアの幅 エリアの高さ」の順で指定します。
width
ビューポート(表示エリア)の幅を定義します。スタイルシート(CSS)と同様に単位付きの値で指定できます。単位を省略するとピクセル値と解釈されます。
height
ビューポート(表示エリア)の高さを定義します。スタイルシート(CSS)と同様に単位付きの値で指定できます。単位を省略するとピクセル値と解釈されます。
x
親要素に svg 要素がある場合に X 軸の相対位置を指定します。
y
親要素に svg 要素がある場合に Y 軸の相対位置を指定します。
preserveAspectRatio
svg 要素を描画する時に、どのようなアスペクト比で描画するかを指定します。値は、配置値とオプションを組み合わせて指定します。配置値は「none | xMinYMin | xMidYMin | xMaxYMin | xMinYMid | xMidYMid(初期値) | xMaxYMid | xMinYMax | xMidYMax | xMaxYMax」で指定します。オプションは、ビューポートに対して、どのように拡大縮小するかを指定します。meet(初期値)を指定するとアスペクト比を維持したままビューボックス全体がビューポート内に表示します。slice を指定するとアスペクト比を維持したままビューポート全体をビューボックスで覆います。
fill
領域を塗りつぶす色を指定します。初期値は、black です。
fil-opacity
領域を塗りつぶす時の透明度を指定します。0 が完全な透明、1 が完全な不透明で、初期値は 1 です。
stroke
線の色を指定します。初期値は、none です。
stroke-opacity
線の透明度を指定します。0 が完全な透明、1 が完全な不透明で、初期値は 1 です。
stroke-width
線の幅を指定します。初期値は 1 です。
stroke-dasharray
線の破線パターンを指定します。「破線の長さ,空白の長さ」で指定します。初期値は、none です。
stroke-linecap
線の終端形状を以下の値で指定します。
butt
線と同時に直角で終わります。(初期値)
round
線の終端から半円で終わります。
square
線の終端から線幅の半分だけ出て直角で終わります。
stroke-linejoin
線のつなぎめ形状を以下の値で指定します。
miter
直角でつなぎます。(初期値)
round
丸でつなぎます。
bevel
射角でつなぎます。

使用上の注意事項

  • レイアウトの初期値はインラインレベルです。文章の改行に影響を与えません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。
  • SVG の詳細情報は、mdn web docs(SVG)サイトで確認してください。

使用例

HTML例


<div>
	<svg viewbox='0 0 400 400' xmlns='http://www.w3.org/2000/svg' height='300' width='300'>
		<rect x='0' y='0' width='50%' height='50%' fill='red' opacity='0.6' />
		<circle cx='50%' cy='50%' r='25%' fill='lime' opacity='0.6' />
		<rect x='50%' y='50%' width='50%' height='50%' fill='blue' opacity='0.6' />
		<rect x='0' y='0' width='100%' height='100%' stroke='steelblue' stroke-width='0.5%' fill='none' />
	</svg>
</div>

表示例

L3.3 テーブル

L3.3.1 table 要素(テーブル作成)

<table> テーブルコンテンツ </table>

テーブルを定義します。テーブルとは、行と列の組み合わせで構成されたセルを用いて作成する表組です。表計算ソフトウェアなどをイメージして頂けると良いかと思います。

テーブルを作成するための先頭要素(親要素)は、table 要素になりますが、子要素として以下の各要素を組み合わせてテーブル構成を作成します。

caption
キャプション設定
tr
テーブル横一行設定
th
テーブル見出しセル設定
td
テーブルセル設定
colgroup
縦列グループ設定
col
テーブル縦列属性設定
thead
テーブルヘッダー設定
tbody
テーブル本体設定
tfoot
テーブルフッター設定

一般的にテーブルを作成するためは以下の手順になります。下記の手順に出現しない要素については必要に応じて使用してください。

  1. table 要素を使用してテーブル作成を開始します。
  2. tr 要素を使用して一行(横軸)の作成を開始します。
  3. 見出しが必要な場合は、一行に格納するセルの個数分の th 要素を使用して見出しを指定してください。
  4. 一行に格納するセルの個数分の td 要素を使用して個別データ(セルデータ)を指定してください。
  5. 行数分、tr 要素の定義から繰り返してください。

具体的なテーブル作成方法やテーブルの作成例を「Lesson-8 テーブルを活用しましょう」で説明していますので合わせて確認してください。

使用上の注意事項

  • レイアウトの初期値はブロックレベルです。文章の改行に影響を与えます。
  • display プロパティ値は、規定値で table になります。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<table>
	<caption>商品在庫</caption>
	<tr><th>商品名</th><th>単価</th><th>個数</th></tr>
	<tr><td>りんご</td><td>80</td><td>10</td></tr>
	<tr><td>みかん</td><td>40</td><td>20</td></tr>
	<tr><td>いちご</td><td>50</td><td>80</td></tr>
</table>

表示例

商品在庫
商品名単価個数
りんご8010
みかん4020
いちご5080

L3.3.2 caption 要素(テーブルキャプション)

<caption> テーブルキャプションコンテンツ </caption>

テーブルのタイトルを定義します。タイトルを指定する場合は、table 要素の直後に子要素として caption 要素を配置します。表の作成方法は、table 要素を参照してください。

使用上の注意事項

  • caption 要素は、table 要素の開始直後にだけ配置できます。
  • display プロパティ値は、規定値で table-caption になります。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

L3.3.3 tr 要素(テーブル一行)

<tr> テーブル一行コンテンツ </tr>

テーブルの一行を定義します。一般的には、tr 要素の子要素に複数の th 要素や td 要素を配置し一行のデータを作成します。表の作成方法は、table 要素を参照してください。

使用上の注意事項

  • レイアウトには影響を与えません。
  • tr は、table row の略称です。
  • display プロパティ値は、table-row になります。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

L3.3.4 th 要素(テーブル見出しセル)

<th colspan="列方向のセル結合数" 
	rowspan="行方向のセル結合数" 
	scope="見出しの対象セル" 
	headers="セルの対象ヘッダー" 
	abbr="セルの説明"> 
	テーブル見出しセルコンテンツ </th>

テーブルの見出しとなるヘッダーセルを定義します。tr 要素の子要素として配置します。見出しが行と列のどちらの方向を対象にしているかは、scope 属性で指定します。通常のセルを作成する場合は、td 要素を使用してください。表の作成方法は、table 要素を参照してください。

主な固有属性

colspan
列方向にセルを結合する数を指定します。初期値は 1 で、最大値は 1000 です。
rowspan
行方向にセルを結合する数を指定します。初期値は 1 で、最大値は 1000 です。
scope
見出しの対象となるセルを指定します。scope 属性が指定されていない場合は、自動的に見出しセルが適用されるセルの集合を選択します。
row
同じ行に属するセルが対象になります。
col
同じ列に属するセルが対象になります。
rowgroup
行のグループに属するセルが対象になります。
colgroup
列のグループに属するセルが対象になります。
headers
セルが対象にしているヘッダーを明示します。th 要素の id 属性が持つ値を空白区切りのリストで指定します。
abbr
セルの内容に関する簡単な説明を指定します。

使用上の注意事項

  • th は、table header の略称です。
  • display プロパティ値は、table-cell になります。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

L3.3.5 td 要素(テーブルセル)

<td colspan="列方向のセル結合数" 
	rowspan="行方向のセル結合数" 
	headers="セルの対象ヘッダー"> 
	テーブルセルコンテンツ </td>

テーブルのデータセルを定義します。tr 要素の子要素として配置します。見出しセルを作成する場合は、th 要素を使用してください。表の作成方法は、table 要素を参照してください。

主な固有属性

colspan
列方向にセルを結合する数を指定します。初期値は 1 で、最大値は 1000 です。
rowspan
行方向にセルを結合する数を指定します。初期値は 1 で、最大値は 1000 です。
headers
セルが対象にしているヘッダーを明示します。th 要素の id 属性が持つ値を空白区切りのリストで指定します。

使用上の注意事項

  • td は、table data の略称です。
  • display プロパティ値は、table-cell になります。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

L3.3.6 colgroup 要素(テーブル縦列グループ)

<colgroup span="列数"> テーブル縦列グループコンテンツ </colgroup>

テーブルの縦列グループを定義します。複数の列を関連ある列としてグループ化する場合に使用します。表の作成方法は、table 要素を参照してください。

似たような機能に col 要素があります。列を構造的な意味でグループ化したい場合は、colgroup 要素を使用して、見栄えだけを調整したい場合は、col 要素を使用してください。併用も可能です。

主な固有属性

span
colgroup 要素が影響を及ぼす列の数を指定します。初期値は、1です。

使用上の注意事項

  • この要素は可視化されません。テーブルのセルに対して間接的に効果を提供します。
  • colgroup は、column group の略称です。
  • display プロパティ値は、規定値で table-column-group になります。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

L3.3.7 col 要素(テーブル縦列属性)

<col span="列数">

テーブルの縦に対してスタイルや属性を定義します。col 要素は、colgroup 要素の子要素として配置します。表の作成方法は、table 要素を参照してください。

似たような機能に colgroup 要素があります。列を構造的な意味でグループ化したい場合は、colgroup 要素を使用して、見栄えだけを調整したい場合は、col 要素を使用してください。併用も可能です。

主な固有属性

span
col 要素が影響を及ぼす列の数を指定します。初期値は、1です。

使用上の注意事項

  • この要素は可視化されません。テーブルのセルに対して視覚的に効果を提供します。
  • この要素は空要素です。終了タグはありません。
  • colgroup 要素の子要素として配置しますが col 要素単体でも機能します。
  • display プロパティ値は、規定値で table-column になります。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

L3.3.8 thead 要素(テーブルヘッダー)

<thead> テーブルヘッダーコンテンツ </thead>

テーブルのヘッダー部分を定義します。一般的には、th 要素を使用してヘッダーを定義しますが、それを thead 要素でグループ化します。表の作成方法は、table 要素を参照してください。

thead 要素(ヘッダー)、tbody 要素(テーブル本体)、tfoot 要素(フッター)はテーブル構造の明確化を必要としないテーブルでは省略されることが多い要素です。但し、各要素を使用してテーブルの構造を明確化しておくことで可視性の良いテーブルを作成することもできます。例えば、行数が多いテーブルの場合にヘッダーとフッターを固定化しておいてテーブル本体だけをスクロール表示できるようにすることで可視性を向上させることができます。

使用上の注意事項

  • レイアウトには影響を与えません。
  • thead は、table header の略称です。
  • display プロパティ値は、table-header-group になります。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

L3.3.9 tbody 要素(テーブル本体)

<tbody> テーブル本体コンテンツ </tbody>

テーブルのデータ本体部分を定義します。ここでの本体は、ヘッダー行とフッター行を除いた部分を示します。表の作成方法は、table 要素を参照してください。

thead 要素(ヘッダー)、tbody 要素(テーブル本体)、tfoot 要素(フッター)はテーブル構造の明確化を必要としないテーブルでは省略されることが多い要素です。但し、各要素を使用してテーブルの構造を明確化しておくことで可視性の良いテーブルを作成することもできます。例えば、行数が多いテーブルの場合にヘッダーとフッターを固定化しておいてテーブル本体だけをスクロール表示できるようにすることで可視性を向上させることができます。

使用上の注意事項

  • レイアウトには影響を与えません。
  • tbody は、table body の略称です。
  • display プロパティ値は、規定値で table-row-group になります。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

L3.3.10 tfoot 要素(テーブルフッター)

<tfoot> テーブルフッターコンテンツ </tfoot>

テーブルのフッター部分を定義します。一般的には、td 要素を使用してフッターを定義しますが、それを tfoot 要素でグループ化します。表の作成方法は、table 要素を参照してください。

thead 要素(ヘッダー)、tbody 要素(テーブル本体)、tfoot 要素(フッター)はテーブル構造の明確化を必要としないテーブルでは省略されることが多い要素です。但し、各要素を使用してテーブルの構造を明確化しておくことで可視性の良いテーブルを作成することもできます。例えば、行数が多いテーブルの場合にヘッダーとフッターを固定化しておいてテーブル本体だけをスクロール表示できるようにすることで可視性を向上させることができます。

使用上の注意事項

  • レイアウトには影響を与えません。
  • tfoot は、table footer の略称です。
  • display プロパティ値は、table-footer-group になります。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

L3.4 フォーム

L3.4.1 form 要素(フォーム作成)

<form action="処理プログラムURL" 
	method="フォーム送信時のHTTPメソッド" 
	target="レスポンス表示位置" 
	enctype="送信MIMEタイプ" 
	novalidate 
	accept-charset="サーバー文字エンコーディング" 
	autocomplete="入力補完有無" 
	name="フォーム名称" 
	rel="送信先リソースとの関係"> 
	フォームコンテンツ </form>

Web サーバーに情報を送信するための入力フォームを定義します。子要素にパーツを組み込むことでユーザーが操作可能なページを提供します。この機能を使いこなすには、クライアントのリクエストとサーバーのレスポンスを理解する必要があります。

主な固有属性

action
フォームデータを処理する送信先の処理プログラムの URL を指定します。この値は、button 要素や input(type="submit")要素などの formaction 属性で上書きできます。また、method 属性に dialog が指定されている場合は無視されます。
method
フォームデータを送信する時に使用する HTTP メソッドを以下の値で指定します。この値は、button 要素や input(type="submit")要素などの formmethod 属性で上書できます。初期値は、get です。
get
GET メソッドで送信します。フォームデータは、action 属性の URL の後ろにクエスチョン(?)で区切って追加されます。
post
POST メソッドで送信します。フォームデータは、リスエスト本体として送信されます。
dialog
dialog 要素の子要素として form 要素を記述した時に有効で、送信を行うとダイアログを閉じて submit イベントを発行します。データを送信したりクリアしたりはしません。
target
フォーム送信後に受け取ったレスポンスを開くフレーム名やウィンドウ名を指定します。以下の名前は特別な意味を持ちます。
_self
同じウィンドウで開きます。(初期値)
_blank
新しいタブまたは新しいウィンドウで開きます。
enctype
method 属性が post の場合にサーバーに送信するデータの MIME タイプを以下の値で指定します。この値は、button 要素や input(type="submit")要素などの formenctype 属性で上書できます。
application/x-www-form-urlencoded
通常の MIME タイプです。(初期値)
multipart/form-data
子要素に input(type="file")要素が含まれている時に指定します。
text/plain
デバック時に有用な MIME タイプです。
novalidate
フォームデータを送信する時に検証しないことを指定します。論理値で値はありません。この属性を指定していない場合は、既定の設定を button 要素や input(type="submit")など の formnovalidate 属性で上書きすることが可能です。
accept-charset
フォームデータを送信するサーバーが受け付ける文字エンコーディングを指定を空白区切りのリストで指定します。初期値は、ページのエンコーディングと同じです。
autocomplete
input 要素がブラウザによる値の入力補完を受け付けるか否かを以下の値で指定します。本指定値は、必ず動作するわけではなくブラウザの仕様に依存します。
off
ブラウザは自動的に項目を補完しません。
on
ブラウザは自動的に項目を補完することがあります。
name
フォームの名前を指定します。
rel
フォームが存在する文章と送信先のリソースの関係を指定します。注釈を表す値には external | nofollow | opener | noopener | noreferrer があります。リンク種別を表す値には help | prev | next | search | license があります。これらの値を空白区切りのリストで指定します。

使用上の注意事項

  • レイアウトの初期値はブロックレベルです。文章の改行に影響を与えます。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<form action="#" method="post">
	<p>問い合わせフォーム</p>
	<div>
		名前:<br>
		<input type="text" name="name" size="38">
	</div>
	<div>
		メールアドレス:<br>
		<input type="text" name="mail" size="38">
	</div>
	<div>
		性別:
		<input type="radio" name="gender" value="m">男
		<input type="radio" name="gender" value="w">女
	</div>
	<div>
		端末:
		<input type="checkbox" name="device" value="p">PC
		<input type="checkbox" name="device" value="s">スマホ
		<input type="checkbox" name="device" value="t">タブレット
	</div>
	<div>
		種別:
		<select name="kind">
			<option value="kind-a">報告</option>
			<option value="kind-b">連絡</option>
			<option value="kind-c">相談</option>
			<option value="kind-d">その他</option>
		</select>
	</div>
	<div>
		内容:<br>
		<textarea name="comment" rows="4" cols="40"> 問い合わせ内容を書いて下さい。</textarea>
	</div>
	<div>
		<input type="submit" value="送信">
		<input type="reset" value="リセット">
	</div>
</form>

表示例

問い合わせフォーム

名前:
メールアドレス:
性別:
端末: PC スマホ タブレット
種別:
内容:

L3.4.2 label 要素(入力項目キャプション)

<label for="関連付けるid属性"> 入力項目キャプションコンテンツ </label>

入力項目などのキャプションを定義します。主に、form 要素の中に配置された input 要素や textarea 要素などにラベルを付与するために使用します。

label 要素と他の要素を関連付けるには、label 要素の子要素に対象要素を配置する方法(暗黙的なラベル付け)と label 要素の for 属性を使用して対象要素の id 属性を指定する方法(明示的なラベル付け)があります。

label 要素には、関連付けられた要素の入力作業を補助する機能がありラベル領域をクリックする関連付けられている要素にフォーカスが当たります。

主な固有属性

for
関連付ける要素の id 名を指定します。

使用上の注意事項

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<div>
	<p>ラベルなし:<input type="text"  placeholder="ラベルなし"></p>
	<p><label>ラベルあり:<input type="text" placeholder="暗黙的なラベル付け"></label></p>
	<p>
		<label for="label-name-1">ラベルあり:</label>
		<input type="text" id="label-name-1" placeholder="明示的なラベル付け">
	</p>
</div>

表示例

ラベルなし:

L3.4.3 input 要素(フォーム構成部品)

<input type="入力項目の型" 
	form="form要素のid名" 
	name="項目の名前" 
	readonly 
	required 
	value="入力項目に埋め込む値" 
	autocomplete="自動補完機能の種類" 
	autofocus 
	disable 
	max="入力の最大値" 
	maxlength="入力の最大長" 
	min="入力の最小値" 
	minlength="入力の最小長" 
	multiple 
	pattern="正規表現値" 
	checked 
	dirname="文字方向" 
	size="表示項目の幅" 
	accept="ファイル形式ヒント" 
	capture="キャプチャメソッド" 
	placeholder="入力時の候補内容" 
	list="入力候補のdatalist要素のid名" 
	src="画像のURL" 
	width="画像の幅" 
	height="画像の高さ" 
	alt="代替テキスト" 
	step="数字の刻み値" 
	formaction="処理プログラムURL" 
	formmethod="フォーム送信時のHTTPメソッド" 
	formtarget="レスポンス表示位置" 
	formenctype="送信MIMEタイプ" 
	formnovalidate>

入力項目を定義します。入力する内容は type 属性で指定します。

主な固有属性

type
入力項目の型を以下の値で指定します。実際に入力するためのコントローラー形状や入力時のチェック機能はブラウザによって異なります。
button
汎用ボタンを指定します。
checkbox
選択式のチェックボックスを指定します。
color
色の入力項目を指定します。ブラウザによってはカラーピッカー表示になります。
date
日付(年月日)の入力項目を指定します。ブラウザによってはカレンダーやホイール表示になります。
datetime-local
日付と時刻(年月日・時分)の入力項目を指定します。ブラウザによってはカレンダーやホイール表示になります。
email
メールアドレスの入力項目を指定します。
file
ローカル環境に保存されているファイルの選択を指定します。
hidden
可視化されない項目を指定します。使用者には可視化されませんが送信対象になります。
image
画像を使ったボタンを指定します。
month
日付(年月)の入力項目を指定します。ブラウザによってはカレンダーやホイール表示になります。
number
数値の入力項目を指定します。
password
パスワードなどの入力項目を指定します。入力された文字は隠された表示になります。
radio
選択可能なラジオボタンを指定します。複数の選択肢からひとつを選択することができます。
range
スライド式の範囲を指定可能な項目を指定します。最小値から最大値の範囲で任意の値を入力できます。
reset
入力フォームの値を初期化するボタンを指定します。
search
検索キーワードの入力項目を指定します。
submit
送信ボタンを指定します。
tel
電話番号の入力項目を指定します。
text
任意のテキストの入力項目を指定します。(初期値)
time
時刻(時分)の入力項目を指定します。ブラウザによってはホイール表示になります。
url
URL の入力項目を指定します。
week
週間(年週番号)の入力項目を指定します。ブラウザによってはカレンダー表示になります。
form
項目を関連付ける form 要素の id 名を指定します。form 要素の子要素以外の場所に input 要素を定義する場合に使用します。
name
項目の名前を指定します。送信される値の識別子として使用されます。
readonly
使用者は編集できない項目であることを指定します。type 属性が hidden | range | color | checkbox | radio | ボタン以外の時に指定できます。論理値で値はありません。
required
入力必須の項目であることを指定します。type 属性が hidden | range | color | ボタン以外の時に指定できます。論理値で値はありません。
value
項目に埋め込まれる値を指定します。
autocomplate
入力欄の自動補完機能の種類を空白区切りリストで指定します。type 属性が checkbox | radio | ボタン以外の時に指定できます。
autofource
ページが表示された時にフォーカスを設定することを指定します。論理値で値はありません。
disable
項目が無効であることを指定します。論理値で値はありません。
max
最大値を指定します。type 属性が date | month | week | time | datetime-local | range の時に指定できます。
maxlength
値の最大長(文字数)を指定します。type 属性が text | search | url | tel | email | password の時に指定できます。
min
最小値を指定します。type 属性が date | month | week | time | datetime-local | range の時に指定できます。
minlength
値の最短長(文字数)を指定します。type 属性が text | search | url | tel | email | password の時に指定できます。
multiple
複数の値を許可することを指定します。type 属性が email | file の時に指定できます。論理値で値はありません。
pattern
値が有効になるパターンを正規表現で指定します。type 属性が text | search | url | tel | email | password | number の時に指定できます。
checked
項目がチェックされていることを指定します。type 属性が checkbox | radio の時に指定できます。論理値で値はありません。
size
項目の大きさを指定します。type 属性が text | search | url | tel | email | password の時に指定できます。
accept
ファイルのアップロード時に選択可能なファイル形式(拡張子)をカンマ(,)区切りリストで指定します。type 属性が file の時に指定できます。
capture
キャプチャーするメディアを指定します。type 属性が file の時に指定できます。
placeholder
項目が空の時に表示される内容を指定します。type 属性が text | search | url | tel | email | password | number の時に指定できます。
list
自動補完の選択子が入った datalist 要素の id 名を指定します。type 属性が hidden | password | checkbox | radio | ボタン以外の時に指定できます。
src
画像ファイルのパスを指定します。type 属性が image の時に指定できます。
width
画像の幅を指定します。type 属性が image の時に指定できます。
height
画像の高さを指定します。type 属性が image の時に指定できます。
alt
画像の代替テキストを指定します。type 属性が image の時に指定できます。
step
数値の刻み値を指定します。type 属性が date | month | week | time | datetime-local | range の時に指定できます。
formaction
フォームデータを処理する送信先の処理プログラムの URL を指定します。type 属性が image | submit の時に指定できます。
formmethod
フォームデータを送信する時に使用する HTTP メソッドを指定します。指定値は、form 要素を参照してください。type 属性が image | submit の時に指定できます。
formtarget
フォーム送信後に受け取ったレスポンスを開くフレーム名やウィンドウ名を指定します。指定値は、form 要素を参照してください。type 属性が image | submit の時に指定できます。
formenctype
formmethod 属性が post の場合にサーバーに送信するデータの MIME タイプを指定します。指定値は、form 要素を参照してください。type 属性が image | submit の時に指定できます。
formnovalidate
フォームデータを送信する時に検証しないことを指定します。type 属性が image | submit の時に指定できます。論理値で値はありません。

使用上の注意事項

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • この要素は空要素です。終了タグはありません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

input 要素は、type 属性によって入力内容や表示形式が異なります。

type 属性:button(汎用ボタン)

HTML例


<p>
	<input type="button" name="button1" value="button">
</p>

表示例

type 属性:checkbox(チェックボックス)

HTML例


<p>
	<label><input type="checkbox" name="checkbox1" value="1" checked>項目1</label>
	<label><input type="checkbox" name="checkbox1" value="2">項目2</label>
	<label><input type="checkbox" name="checkbox1" value="3">項目3</label>
</p>

表示例

type 属性:color(色)

HTML例


<p>
	<input type="color" name="color1">
</p>

表示例

type 属性:date(年月日)

HTML例


<p>
	<input type="date" name="date1">
</p>

表示例

type 属性:datetime-local(年月日・時分)

HTML例


<p>
	<input type="datetime-local" name="datetime-local1">
</p>

表示例

type 属性:email(メールアドレス)

HTML例


<p>
	<input type="email" name="email1">
</p>

表示例

type 属性:file(ファイル)

HTML例


<p>
	<input type="file" name="file1">
</p>

表示例

type 属性:hidden(非表示)

HTML例


<p>
	<input type="hidden" name="hidden1">
	<small>※この項目は非表示になりますが送信対象です。</small>
</p>

表示例

※この項目は非表示になりますが送信対象です。

type 属性:image(画像ボタン)

HTML例


<p>
	<input type="image" name="image1" src="images/hamaya.png" alt="代替テキスト" width="100" height="100">
</p>

表示例

type 属性:month(年月)

HTML例


<p>
	<input type="month" name="month1">
</p>

表示例

type 属性:number(数値)

HTML例


<p>
	<input type="number" name="number1" min="1" max="10" value="1">
</p>

表示例

type 属性:password(パスワード)

HTML例


<p>
	<input type="password" name="password1" minlength="8" maxlength="16">
</p>

表示例

type 属性:radio(ラジオボタン)

HTML例


<p>
	<label><input type="radio" name="radio1" value="1" checked>項目1</label>
	<label><input type="radio" name="radio1" value="2">項目2</label>
	<label><input type="radio" name="radio1" value="3">項目3</label>
</p>

表示例

type 属性:range(範囲)

HTML例


<p>
	<input type="range" name="range1" min="1" max="100" value="50">
</p>

表示例

type 属性:reset(リセットボタン)

HTML例


<p>
	<input type="reset" name="reset1" value="reset">
</p>

表示例

type 属性:search(検索キーワード)

HTML例


<p>
	<input type="search" name="search1" value="search">
</p>

表示例

type 属性:submit(送信ボタン)

HTML例


<p>
	<input type="submit" name="submit1" value="submit">
</p>

表示例

type 属性:tel(電話番号)

HTML例


<p>
	<input type="tel" name="tel1" placeholder="03-0000-0000">
</p>

表示例

type 属性:text(テキスト)

HTML例


<p>
	<input type="text" name="text1" minlength="8" maxlength="32" size="28" placeholder="8~32文字">
</p>

表示例

type 属性:time(時分)

HTML例


<p>
	<input type="time" name="time1" value="10:00">
</p>

表示例

type 属性:url(URL)

HTML例


<p>
	<input type="url" name="url1" placeholder="https://sample.com">
</p>

表示例

type 属性:week(年週番号)

HTML例


<p>
	<input type="week" name="week1" value="2024-W01">
</p>

表示例

L3.4.4 button 要素(ボタン)

<button type="入力項目の型" 
	form="form要素のid名" 
	name="項目の名前" 
	value="入力項目に埋め込む値" 
	autofocus 
	disable 
	formaction="処理プログラムURL" 
	formmethod="フォーム送信時のHTTPメソッド" 
	formtarget="レスポンス表示位置" 
	formenctype="送信MIMEタイプ" 
	formnovalidate> 
	ボタンコンテンツ </button>

ボタンを定義します。多くのボタンは、form 要素に関連付けて使用されますが、この button 要素は、文章の中に自由に配置することもできます。また、JavaScript と組み合わせることで色々な用途に使用することもできます。

button 要素でサーバーへの送信を行う場合は、form 要素の子要素として配置されているか form 要素に関連付けられている必要があります。

button 要素で定義するボタンは、input 要素で定義するボタンと類似していますが、input 要素で定義するボタンよりもスタイルシート(CSS)での適用がしやすくなっていますし疑似要素の適用も可能です。

主な固有属性

type
入力項目の型を以下の値で指定します。
submit
送信ボタンを指定します。
reset
入力フォームの値を初期化するボタンを指定します。
button
汎用ボタンを指定します。
form
項目を関連付ける form 要素の id 名を指定します。form 要素の子要素以外の場所に button 要素を定義する場合に使用します。
name
項目の名前を指定します。送信される value 属性の値の識別子として使用されます。
value
項目に埋め込まれる値を指定します。送信時に name 属性と関連付けて送信されます。
autofource
ページが表示された時にフォーカスを設定することを指定します。論理値で値はありません。
disable
項目が無効であることを指定します。
formaction
フォームデータを処理する送信先の処理プログラムの URL を指定します。form 要素の action 属性よりも優先されます。
formmethod
フォームデータを送信する時に使用する HTTP メソッドを指定します。指定値は、form 要素を参照してください。form 要素の method 属性よりもお優先されます。
formtarget
フォーム送信後に受け取ったレスポンスを開くフレーム名やウィンドウ名を指定します。指定値は、form 要素を参照してください。form 要素の target 属性よりも優先されます。
formenctype
formmethod 属性が post の場合にサーバーに送信するデータの MIME タイプを指定します。指定値は、form 要素を参照してください。form 要素の enctype 属性よりも優先されます。
formnovalidate
フォームデータを送信する時に検証しないことを指定します。form 要素の novalidate 属性よりも優先されます。論理値で値はありません。

使用上の注意事項

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<p>
	<button type="button">ボタン</button>
</p>

表示例

L3.4.5 select 要素(セレクトボックス)

<select form="form要素のid名" 
	name="項目の名前" 
	required 
	autocomplete="自動補完機能の種類" 
	autofocus 
	disable 
	multiple 
	size="表示項目の幅">
	セレクトコンテンツ </select>

選択式のメニュー(セレクトボックス)を定義します。複数の項目を並べて、その中から任意の項目を選択することができます。

選択項目は、select 要素の子要素に option 要素を使用して定義します。option 要素を配置する時に optgroup 要素を使用して項目をグループ化することもできます。

主な固有属性

form
項目を関連付ける form 要素の id 名を指定します。form 要素の子要素以外の場所に select 要素を定義する場合に使用します。
name
項目の名前を指定します。
required
入力必須の項目であることを指定します。論理値で値はありません。
autocomplate
入力欄の自動補完機能の種類を空白区切りリストで指定します。
autofource
ページが表示された時にフォーカスを設定することを指定します。論理値で値はありません。
disable
項目が無効であることを指定します。
multiple
複数の値を許可することを指定します。指定されてない場合は、一つの項目だけが選択できます。論理値で値はありません。
size
項目を表示するセレクトボックスの大きさ(行数)を指定します。指定されていない場合は、一行で表示されます。

使用上の注意事項

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<p>
	<select name="select1">
		<option value="1">メニュー項目1</option>
		<option value="2">メニュー項目2</option>
		<option value="3">メニュー項目3</option>
	</select>
</p>

表示例

複数行の選択肢を表示

HTML例


<p>
	<select name="select2" size="4">
		<option value="1">メニュー項目1</option>
		<option value="2">メニュー項目2</option>
		<option value="3">メニュー項目3</option>
		<option value="4">メニュー項目4</option>
		<option value="5">メニュー項目5</option>
		<option value="6">メニュー項目6</option>
	</select>
</p>

表示例

選択項目をグループ化して表示

HTML例


<p>
	<select name="select3">
		<optgroup label="メニューグループ1">
			<option value="11">メニュー項目1-1</option>
			<option value="12">メニュー項目1-2</option>
			<option value="13">メニュー項目1-3</option>
		</optgroup>
		<optgroup label="メニューグループ2">
			<option value="21">メニュー項目2-1</option>
			<option value="22">メニュー項目2-2</option>
			<option value="23">メニュー項目2-3</option>
		</optgroup>
		<optgroup label="メニューグループ3">
			<option value="31">メニュー項目3-1</option>
			<option value="32">メニュー項目3-2</option>
			<option value="33">メニュー項目3-3</option>
		</optgroup>
	</select>
</p>

表示例

複数の選択肢を選択可能

HTML例


<p>
	<select name="select4" multiple>
		<option value="1">メニュー項目1</option>
		<option value="2">メニュー項目2</option>
		<option value="3">メニュー項目3</option>
		<option value="4">メニュー項目4</option>
		<option value="5">メニュー項目5</option>
		<option value="6">メニュー項目6</option>
	</select>
</p>

表示例

L3.4.6 datalist 要素(入力候補選択肢)

<datalist> 入力候補選択肢コンテンツ </datalist>

入力項目の選択肢候補になる選択肢やオプションを定義します。複数の項目を並べて、その中から任意の項目を選択することができます。

選択項目は、datalist 要素の子要素に option 要素を使用して定義します。datalist 要素で作成した選択肢候補は、datalist 要素の id 属性で定義した id 名を対象の input 要素の list 属性で指定することで関連付けを行います。

使用上の注意事項

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • 視覚的な効果はありませんが入力項目を操作した時にポップアップリストとして表示されます。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

テキスト入力項目の選択肢候補

HTML例


<p>
	<input type="text" list="datalist1">
	<datalist id="datalist1">
		<option value="テキスト項目1">テキスト項目1</option>
		<option value="テキスト項目2">テキスト項目2</option>
		<option value="テキスト項目3">テキスト項目3</option>
	</datalist>
</p>

表示例

検索キーワード入力項目の選択肢候補

HTML例


<p>
	<input type="search" list="datalist2">
	<datalist id="datalist2">
		<option value="キーワード項目1">キーワード項目1</option>
		<option value="キーワード項目2">キーワード項目2</option>
		<option value="キーワード項目3">キーワード項目3</option>
	</datalist>
</p>

表示例

時刻(時分)入力項目の選択肢候補

HTML例


<p>
	<input type="time" list="datalist3">
	<datalist id="datalist3">
		<option value="06:00">06:00</option>
		<option value="07:00">07:00</option>
		<option value="08:00">08:00</option>
	</datalist>
</p>

表示例

スライド式の範囲の選択肢候補

HTML例


<p>
	<input type="range" list="datalist4" min="0" max="100">
	<datalist id="datalist4">
		<option value="20">20</option>
		<option value="40">40</option>
		<option value="60">60</option>
		<option value="80">80</option>
	</datalist>
</p>

表示例

色の選択肢候補

HTML例


<p>
	<input type="color" list="datalist5">
	<datalist id="datalist5">
		<option value="#ff0000">#ff0000</option>
		<option value="#00ff00">#00ff00</option>
		<option value="#0000ff">#0000ff</option>
	</datalist>
</p>

表示例

L3.4.7 optgroup 要素(セレクトボックス選択肢グループ)

<optgroup label="グループ見出し" disabled> セレクトボックス選択肢グループコンテンツ </optgroup>

入力項目の選択肢候補になる選択肢のグループを定義します。select 要素の子要素として配置する option 要素をグループ化してグループ見出しを指定することができます。

主な固有属性

label
グループ化した項目のグループ見出しを指定します。
disabled
項目が無効であることを指定します。

使用上の注意事項

  • レイアウトには影響を与えません。選択肢の一覧にグループを定義します。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<p>
	<select name="optgroup1">
		<optgroup label="メニューグループ1">
			<option value="11">メニュー項目1-1</option>
			<option value="12">メニュー項目1-2</option>
			<option value="13">メニュー項目1-3</option>
		</optgroup>
		<optgroup label="メニューグループ2">
			<option value="21">メニュー項目2-1</option>
			<option value="22">メニュー項目2-2</option>
			<option value="23">メニュー項目2-3</option>
		</optgroup>
		<optgroup label="メニューグループ3">
			<option value="31">メニュー項目3-1</option>
			<option value="32">メニュー項目3-2</option>
			<option value="33">メニュー項目3-3</option>
		</optgroup>
	</select>
</p>

表示例

L3.4.8 option 要素(セレクトボックス選択肢)

<option value="送信値" label="選択肢表示項目" disabled selected> セレクトボックス選択肢コンテンツ </option>

入力項目の選択肢候補になる選択肢を定義します。select 要素や datalist 要素の子要素として配置します。option 要素の使用例は、select 要素や datalist 要素を参照してください。

主な固有属性

value
選択した時に送信される値を指定します。省略時は option 要素の中に含まれる文字列が値になります。
label
選択肢として表示される値を指定します。省略時は option 要素の中に含まれる文字列が表示されます。
disabled
項目が無効であることを指定します。論理値で値はありません。
selected
あらかじめ選択されている項目であることを指定します。論理値で値はありません。

使用上の注意事項

  • レイアウトには影響を与えません。項目の一覧表を展開した時にメニューとして表示されます。
  • 選択肢として表示する値を label 属性で指定することもできます。構文を守ることで終了タグを省略することができます。この場合は、空要素になりますので送信される値を value 属性で指定するようにしてください。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

L3.4.9 textarea 要素(複数行テキスト編集項目)

<textarea form="form要素のid名" 
	name="項目の名前" 
	cols="一行の文字数" 
	rows="行数" 
	readonly 
	required 
	autocomplete="自動補完機能" 
	autocapitalize="文字変換" 
	soellcheck="スペルチェック" 
	warp="折り返し方法" 
	autofocus 
	disable 
	maxlength="入力の最大数" 
	minlength="入力の最小数" 
	placeholder="入力時の候補内容">
	複数行テキスト編集項目コンテンツ </textarea>

複数行の文字入力項目を定義します。一行の入力項目を定義する場合は、input 要素でも定義可能です。

主な固有属性

form
項目を関連付ける form 要素の id 名を指定します。form 要素の子要素以外の場所に textarea 要素を定義する場合に使用します。
name
項目の名前を指定します。送信される値の識別子として使用されます。
cols
一行当たりの最大文字数を指定します。初期値は 20 です。
rows
テキストリアの行数を指定します。初期値は 2 です。
readonly
使用者は編集できない項目であることを指定します。論理値で値はありません。
required
入力必須の項目であることを指定します。type 属性が hidden | range | color | ボタン以外の時に指定できます。論理値で値はありません。
autocomplate
入力欄の自動補完機能の種類を以下の値で指定します。
on
以前に入力した値を元に自動補完を行うことを許可します。
off
自動補完を行いません。毎回、再入力になります。
autocapitalize
入力した文字を自動的に大文字変換するか否かを以下の値で指定します。
none
自動的に大文字変換を行いません。
sentences
文の先頭文字を自動的に大文字化します。
words
単語の先頭を自動的に大文字化します。
characters
すべての文字を自動的に大文字化します。
spellcheck
スペルチェックや文法チェックを行うか否かを以下の値で指定します。
true
スペルチェックや文法チェックを行います。
false
スペルチェックや文法チェックを行いません。
default
親から継承した値または既定の動作を行います。
warp
テキストの折り返しに関する制御方法を以下の値で指定します。
hard
行の長さがテキストエリアの幅を超えたら自動で改行をします。cols 属性の指定が必須です。
soft
入力値に含まれる改行を維持しますが自動での改行は行いません。
off
折り返しを行いません。行の長さがテキストエリアの幅を超えたら水平方向のスクロールが可能になります。
autofource
ページが表示された時にフォーカスを設定することを指定します。論理値で値はありません。
disable
項目が無効であることを指定します。論理値で値はありません。
maxlength
値の最大長(文字数)を指定します。
minlength
値の最短長(文字数)を指定します。
placeholder
項目が空の時に表示される内容を指定します。

使用上の注意事項

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • textarea 要素の display の値は、inline-block になります。。
  • テキストエリアは、cols 属性と rows 属性で指定された大きさになります。変更する場合は、スタイルシート(CSS)で指定します。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<p>
	<textarea cols="40" rows="5" placeholder="ここに文字を入力してください。">
</p>

表示例

テキストエリアのサイズ変更を無効に設定

HTML例


<p>
	<textarea class="textarea1" placeholder="ここに文字を入力してください。">
</p>

CSS例


textarea.textarea1 {
	width: 300px;
	height: 100px;
	resize: none;
}

表示例

L3.4.10 output 要素(計算結果の出力欄)

<output form="form要素のid名" 
	for="入力項目のid名" 
	name="項目の名前"> 
	計算結果の出力欄コンテンツ </output>

計算や処理結果を格納する項目を定義します。output 要素の値、名前、内容は送信対象にはなりません。類似要素に samp 要素がありますが、こちらは、あらかじめ実行結果がわかっている内容を表示する場合に使用します。

主な固有属性

form
項目を関連付ける form 要素の id 名を指定します。form 要素の子要素以外の場所に output 要素を定義する場合に使用します。
for
入力項目の id 名を空白区切りリストで指定します。
name
項目の名前を指定します。JavaScript からアクセスする場合に使用します。

使用上の注意事項

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

二つの項目を加算

HTML例


<form oninput="output13.value = Number(output11.value) + Number(output12.value);">
	<input type="number" id="output11" name="output11" value="0"> +
	<input type="number" id="output12" name="output12" value="0"> =
	<output name="output13" for="output11 output12">0</output>
</form>

表示例

0
範囲値に加算値を加算

HTML例


<form oninput="output23.value = Number(output21.value) + Number(output22.value);">
	範囲:<input type="range" id="output21" name="output21" value="50"><br>
	加算:<input type="number" id="output22" name="output22" value="10"><br>
	結果:<output name="output23" for="output21 output22">60</output>
</form>

表示例

範囲:
加算:
結果:60

L3.4.11 progress 要素(作業進捗のプログレスバー)

<progress value="進捗状況値" 
	max="最大値"> 
	progress要素が未サポート時の代替テキスト </progress>

作業の進捗状況を表示する項目を定義します。単純に処理した結果を表示する場合は、output 要素を使用して、規定範囲の現在測定値を表示する場合は、meter 要素を使用してください。

作業状況は、横長のメーター形式で表示されます。一般的には、JavaScript を使用して進捗状況値を変化させます。

開始タグと終了タグの間に「progress要素が未サポート時の代替テキスト」を指定することができます。これは、progress 要素をサポートしていないブラウザの時に表示される文字列になります。

主な固有属性

value
進捗状況の値(浮動小数点数値)で指定します。この属性が指定されていない場合は、処理中ですが完了までの予想ができない状態を示します。
max
作業量の最大値を指定します。初期値は、1.0 です。

使用上の注意事項

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • 最小値は、指定することができなく常に 0 です。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<p>
	作業1:<progress value="30" max="100">30%</progress><br>
	作業2:<progress value="60" max="100">60%</progress><br>
	作業3:<progress max="100">不定</progress>
</p>

表示例

作業1:30%
作業2:60%
作業3:不定

L3.4.12 meter 要素(規定範囲内の数量・測定値)

<meter value="値" 
	min="最小値" 
	max="最大値" 
	low="低いとされる境界値" 
	high="高いとされる境界値" 
	optimum="適正値"> 
	meter要素が未サポート時の代替テキスト </meter>

規定の範囲が明確な場合の数量や測定値を表示する項目を定義します。作業の進捗状況やタスクの進行状況を表示する場合は、progress 要素を使用してください。

値は、横長のメーター形式で表示されます。ブラウザによっては境界値と指定した値によってインジケーターの色が変化して表示されます。一般的には、JavaScript を使用して進捗状況値を変化させます。

開始タグと終了タグの間に「meter要素が未サポート時の代替テキスト」を指定することができます。これは、meter 要素をサポートしていないブラウザの時に表示される文字列になります。

主な固有属性

value
進捗状況の値(浮動小数点数値)を指定します。この属性が指定されていない場合および不正な値の場合は、0 になります。また、min 属性と max 属性の範囲外にある場合は、範囲内の最も近い値になります。
min
範囲の下限値を指定します。未指定の場合は、0 になります。
max
範囲の上限値を指定します。未指定の場合は、1 になります。
low
低いとされる境界値を指定します。未指定の場合は、0 になります。
high
高いとされる境界値を指定します。未指定の場合は、1 になります。
optimum
最適とされる値を指定します。未指定の場合は、0.5 になります。最適値が low 属性の値と high 属性の値の間に設定されている場合は、low 属性の値からoptimum 属性の値までが最適値になります。最適値が high 属性の値以上に設定されている場合は、high 属性の値から optimum 属性の値までが最適値になります。

使用上の注意事項

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<p>
	点数1:<meter min="0" max="100" low="40" high="80" optimum="100" value="0">0点</meter><br>
	点数2:<meter min="0" max="100" low="40" high="80" optimum="100" value="30">30点</meter><br>
	点数3:<meter min="0" max="100" low="40" high="80" optimum="100" value="50">50点</meter><br>
	点数4:<meter min="0" max="100" low="40" high="80" optimum="100" value="70">70点</meter><br>
	点数5:<meter min="0" max="100" low="40" high="80" optimum="100" value="90">90点</meter><br>
	点数6:<meter min="0" max="100" low="40" high="80" optimum="100" value="100">100点</meter>
</p>

表示例

点数1:0点
点数2:30点
点数3:50点
点数4:70点
点数5:90点
点数6:100点

L3.4.13 fieldset 要素(入力項目グループ)

<fieldset form="form要素のid名" name="項目の名前" disable> 入力項目グループコンテンツ </fieldset>

フォームの入力項目のグループを定義します。グループ化した項目は、legend 要素を使用して見出しを設定したり、Tab キーでグループ間を移動できるようになります。

ブラウザによっては、グループ化した項目を枠で囲んで表示します。

主な固有属性

form
項目を関連付ける form 要素の id 名を指定します。form 要素の子要素以外の場所に fieldset 要素を定義する場合に使用します。
name
項目の名前を指定します。JavaScript からアクセスする場合に使用します。
disable
項目が無効であることを指定します。論理値で値はありません。

使用上の注意事項

  • レイアウトの初期値はブロックレベルです。文章の改行に影響を与えます。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<fieldset>
	<legend>見出し</legend>
	<input type="text" value="text">
</fieldset>

表示例

見出し

HTML例


<form action="#" name="fieldset0">
	<fieldset>
		<legend>グループC1</legend>
		<label>選択C1-1:<input type="checkbox" name="fieldset1" value="C1-1"></label> 
		<label>選択C1-2:<input type="checkbox" name="fieldset1" value="C1-2"></label> 
		<label>選択C1-3:<input type="checkbox" name="fieldset1" value="C1-3"></label>
	</fieldset>
	<fieldset>
		<legend>グループC2</legend>
		<label>選択C2-1:<input type="checkbox" name="fieldset2" value="C2-1"></label> 
		<label>選択C2-2:<input type="checkbox" name="fieldset2" value="C2-2"></label> 
		<label>選択C2-3:<input type="checkbox" name="fieldset2" value="C2-3"></label>
	</fieldset>
	<hr>
	<fieldset>
		<legend>グループR1</legend>
		<label>選択R1-1:<input type="radio" name="fieldset3" value="R1-1" checked></label> 
		<label>選択R1-2:<input type="radio" name="fieldset3" value="R1-2"></label> 
		<label>選択R1-3:<input type="radio" name="fieldset3" value="R1-3"></label>
	</fieldset>
	<fieldset>
		<legend>グループR2</legend>
		<label>選択R2-1:<input type="radio" name="fieldset4" value="R2-1" checked></label> 
		<label>選択R2-2:<input type="radio" name="fieldset4" value="R2-2"></label> 
		<label>選択R2-3:<input type="radio" name="fieldset4" value="R2-3"></label>
	</fieldset>
</form>

表示例

グループC1    
グループC2    

グループR1    
グループR2    

L3.4.14 legend 要素(入力項目グループキャプション)

<legend> 入力項目グループキャプションコンテンツ </legend>

グループ化されたフォームの入力項目にキャプションを定義します。グループ化は、fieldset 要素で行い、fieldset 要素の直後の子要素に legend 要素を使ってキャプションを指定します。

主な固有属性

form
項目を関連付ける form 要素の id 名を指定します。form 要素の子要素以外の場所に fieldset 要素を定義する場合に使用します。
name
項目の名前を指定します。JavaScript からアクセスする場合に使用します。
disable
項目が無効であることを指定します。論理値で値はありません。

使用上の注意事項

  • レイアウトの初期値はブロックレベルです。文章の改行に影響を与えます。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<fieldset>
	<legend>見出し</legend>
	<input type="text" value="text">
</fieldset>

表示例

見出し

L3.5 インタラクティブ

L3.5.1 details(折りたたみ領域)

<details open> 折りたたみ領域コンテンツ </details>

使用者が詳細情報の表示・非表示の切り替えられる折りたたみ領域(ウィジェット)を定義します。概要やラベルは、details 要素の直後の子要素に summary 要素を使用して指定します。

主な固有属性

open
詳細情報を表示した状態で開始することを指定します。省略時は、詳細情報が非表示の状態で開始されます。論理値で値はありません。

使用上の注意事項

  • レイアウトの初期値はブロックレベルです。文章の改行に影響を与えます。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<details>
	<summary>見出しや要約</summary>
	<p>
		詳細情報-01<br>
		詳細情報-02<br>
		詳細情報-03<br>
		詳細情報-04<br>
	</p>
</details>

表示例

見出しや要約

詳細情報-01
詳細情報-02
詳細情報-03
詳細情報-04

L3.5.2 summary 要素(折りたたみ領域の概要)

<summary> 折りたたみ領域の概要コンテンツ </summary>

使用者が詳細情報の表示・非表示の切り替えられる折りたたみ領域(ウィジェット)の概要を定義します。summary 要素は、details 要素の直後の子要素に指定します。

使用上の注意事項

  • レイアウトの初期値はブロックレベルです。文章の改行に影響を与えます。
  • 折りたたみの状態を示すマーカーが先頭に配置されます。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<details>
	<summary>見出しや要約</summary>
	<p>
		詳細情報-01<br>
		詳細情報-02<br>
		詳細情報-03<br>
		詳細情報-04<br>
	</p>
</details>

表示例

見出しや要約

詳細情報-01
詳細情報-02
詳細情報-03
詳細情報-04

L3.5.3 dialog 要素(ダイアログボックス)

<dialog open> ダイアログボックスコンテンツ </dialog>

使用者が任意のタイミングで開くダイアログボックスを定義します。

一般的には、ダイアログボックスの開閉は、JavaScript を用いて制御します。JavaScript でモーダルダイアログとして開いた場合は、インラインフレームに表示されている他の要素は操作できなくなります。

主な固有属性

open
ダイアログボックスを表示した状態で開始することを指定します。省略時は、詳細情報が非表示の状態で開始されます。open 属性を使用してダイアログボックスを開いた場合は、モーダルになりません。論理値で値はありません。

使用上の注意事項

  • ダイアログを開閉は、JavaScript で行います。開く時は、HTMLDialogElement オブジェクトの showModal メソッドを呼び出します。ダイアログを閉じる場合は close メソッドを使います。
  • ダイアログを JavaScript で表示する場合は、初期状態ではレイアウトに影響を与えません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<button type="button" onclick="document.getElementById('dialog1').showModal()">ダイアログを表示</button>
<dialog id="dialog1" aria-labelledby="dialog1_h">
	<h3 id="dialog1_h">ダイアログの見出し</h3>
	<p>ダイアログの内容</p>
	<button type="button" onclick="this.closest('dialog').close();">閉じる</button>
</dialog>

表示例

ダイアログの見出し

ダイアログの内容

L3.6 スクリプティング

L3.6.1 script 要素(スクリプト)

<script src="外部スクリプトファイルのパス" 
	type="スクリプトタイプ" 
	async 
	defer 
	crossorigin="CORS情報" 
	integrity="改ざんチェック" 
	nomodule 
	nonce="CPSトークン" 
	referrerpolicy="リファラーポリシー"> 
	スクリプトコンテンツ </script>

スクリプトの埋め込みを定義します。外部ファイルに記述したスクリプトを読み込む方法と script 要素内に直接記述する方法があります。

主な固有属性

src
外部スクリプトファイルのパスを指定します。
type
スクリプトのタイプを以下の値で指定します。省略時は、text/javascript になります。
JavaScript の MIME タイプ
JavaScript の MIME タイプを指定する必要がある場合に使用します。通常の JavaScript の場合は、属性を省略して下さい。/dd>
module
JavaScript のモジュールとして扱います。
importmap
JSON オブジェクトのインポートマップを指定します。
その他
JavaScript 以外のMIMEタイプを使用します。
async
スクリプトを非同期に扱い場合に指定します。
defer
外部スクリプトの読み込み時に参照中のドキュメント解析が終わるまで実行を控えます。論理値で値はありません。
crossorigin
外部ドメインに置かれたソースを扱う場合に、CORS(Cross Origin Resource Sharing)とエラーログの扱いを指定します。
integrity
取得したリソースが改ざんされていないかをチェックするために使用します。
nomodule
モジュール式のJavaScriptに対応していないブラウザ向けの代替スクリプトであることを表します。論理値で値はありません。
nonce
CPS(Content Security Policy)のチェックで用いられるワンタイムトークンを指定します。
referrerpolicy
スクリプトがリソースを読み込む際に、どのリファラーを送信するかポリシーを定めます。

使用上の注意事項

  • head 要素の配下、body 要素の配下のどちらにも記述できます。この要素自体は可視化されません。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

外部スクリプトファイルの読み込み

HTML例


<script src="js/javascript.js"></script>

JavaScript例(js/javascript.js)


// JavaScript サンプル
day = new Date();
document.write("現在の日時:");
document.write(day);

表示例

script 要素内に直接記述

HTML例


<script>
	day = new Date();
	document.write("現在の日時:");
	document.write(day);
</script>
<noscript>このページはJavaScriptを使用しています。</noscript>

表示例

L3.6.2 noscript 要素(スクリプト非動作文字)

<noscript> スクリプト非動作文字コンテンツ </noscript>

スクリプトが動作しない環境で表示する代替文字を定義します。

スクリプトが有効の時は、何も表示されませんが、ブラウザがスクリプトに対応していない場合か使用者がスクリプトを無効にしている場合に、この要素が有効になり「スクリプト非動作文字コンテンツ」が表示されます。

使用上の注意事項

  • レイアウトの初期値はブロックレベルです。文章の改行に影響を与えます。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<script>
	day = new Date();
	document.write("現在の日時:");
	document.write(day);
</script>
<noscript>このページはJavaScriptを使用しています。</noscript>

表示例

L3.6.3 template 要素(スクリプトで挿入可能な要素)

<template shadowrootmode="シャドウルート" shadowrootclonable shadowrootdelegatesfocus> 
	スクリプトで挿入可能な要素コンテンツ </template>

スクリプトによって文書に挿入できる HTML の断片を定義します。ページの読み込み時には描画されないコンテンツの断片を定義を定義し、後で JavaScript を使用してアクティベート可能な状態でマークアップすることができます。

一般的には、重複する内容の一部をテンプレートとして保持したり、使用者の操作で DOM の内容が変化するコンテンツに向いています。

主な固有属性

shadowrootmode
親要素のシャドウルートを生成します。Element.attachShadow() メソッドを宣言するもので、enumerated 値を受け入れます。
open
内部シャドウルート DOM を JavaScript に公開します。
closed
内部シャドウルート DOM を JavaScript から隠します。
shadowrootclonable
この要素を使って作成したシャドウルートの clonable プロパティの値を true に設定します。この場合、Node.cloneNode() または Document.importNode() でシャドウホスト(template 要素のの親要素)の複製を作成するとコピーにシャドウルートが含まれます。
shadowrootdelegatesfocus
この要素を使って作成したシャドウルートの delegatesFocus プロパティの値を true に設定します。この場合、シャドウツリー内のフォーカスできない要素が選択された場合、フォーカスはツリー内の最初のフォーカス可能な要素に移ります。既定値は false です。

使用上の注意事項

  • この要素に囲まれた部分は、ページ読み込み時に自律動作しません。つまり、この範囲内にマークアップされたは箇所は、隠れた DOM として保存され、呼び出されるまで表示されません。
  • テンプレート内のコンテンツは、アクティベートされるまでドキュメント内に存在しないものとして扱われます。よって、画像や動画、音声はロードされませんし、スクリプトは実行されません。
  • template 要素は head 要素やbody 要素の中であれば、どこにでも置くことができます(コンテンツモデルの子要素以外)。そして、その中に置けるコンテンツであれば、何を置いても構いません。/li>
  • テンプレートを使うには、JavaScript でアクティベート(有効化)する必要があります。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。

使用例

HTML例


<template id="myTemplate">
	<img src="" alt="image">
	<div class="comment"></div>
</template>

<script>
	const t = document.querySelector('#myTemplate');
	t.content.querySelector('img').src = 'file.png';
	const clone = document.importNode(t.content, true);
	document.body.appendChild(clone);
</script>

L3.6.4 canvas 要素(グラフィック描画領域)

<canvas width="描画領域の幅" height="描画領域の高さ"> canvas要素が未サポート時の代替テキスト </canvas>

スクリプトでグラフィックスやアニメーションを表示する領域を定義します。

開始タグと終了タグの間に「canvas要素が未サポート時の代替テキスト」を指定することができます。これは、canvas 要素をサポートしていないブラウザの時に表示される文字列になります。

一般的には、JavaScript から Canvas API を呼び出して図形やアニメーションを描画します。本項では、Canvas API の詳細説明は省略しますので関連サイトや関連図書を参照してください。

主な固有属性

width
キャンバスの幅を単位なしのピクセル値で指定します。初期値は、300 です。
height
キャンバスの高さを単位なしのピクセル値で指定します。初期値は、150 です。

使用上の注意事項

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • この要素はキャンバスの領域を指定するだけです。内部の描画はJavaScriptで定義します。
  • ブラウザの対応状況は、caniuse サイトで確認してください。
  • 要素の詳細情報は、mdn web docs サイトで確認してください。
  • Canvas API の詳細情報は、mdn web docs(キャンバス API)サイトで確認してください。

使用例

HTML例


<canvas id="canvas1" width="200" height="140" style="border: 1px #ccc solid;">
	このブラウザはcanvasの描画に対応していません。
</canvas>
<script>
	const canvas = document.getElementById('canvas1');
	const item1 = canvas.getContext('2d');
	item1.fillStyle = '#00CCFF';
	item1.fillRect(10, 10, 150, 100);
</script>

表示例

このブラウザはcanvasの描画に対応していません。

ロケット本体
PAGE
TOP
ロケット炎