仕様
HEAD要素は、
文書のメタデータの
集まりを表します。
- head
- 文書に
関する (document付加的な 情報 Head) - 種類
- 通常要素
- カテゴリ
- なし
- レンダリング
- ボックスを生成しない
非表示の要素
head {
display: none;
}
CSS を大雑把に読むと、 要素とその子孫は、ボックスやテキストランを生成しません。 などになります。
- 許可されて
いる内容 - 文書が iframe要素の文書である場合、または題名情報がより上位の
プロトコル から利用可能である場合、メタデータ コンテンツ *。(title? & base?) & (meta要素 | link要素 | style要素 | script要素 | noscript要素 | template要素)*
それ以外の場合、メタデータコンテンツ +。(title & base?) & (meta要素 | link要素 | style要素 | script要素 | noscript要素 | template要素)* - タグの省略
- 開始タグは、要素が空の場合は省略してもよいし、head要素の内部の最初のものが要素なら省略可能です。
終了タグは、head要素に続く最初のものが空白文字やコメントでない場合は省略可能です。 - 許可されて
いるARIA - なし[No corresponding role]
- 属性
グローバル
属性 のみ- DOM
HTMLHeadElement
[Exposed=Window]
interface HTMLHeadElement : HTMLElement {
[HTMLConstructor] constructor();
};
- PUG
_template.pug
block variable
block document
doctype html
html(lang=
"ja") head
block head
meta(
charset= "UTF-8") title 離珠のHTMLでしぃ!
body
block body
| html要素のサンプル用ページです。
- 説明
head要素は、文書のメタデータの集まりを表します。
head要素は、メタデータを含む (囲む, まとめる) 要素です。
メタデータとは、文書に関する機械可読な情報の事です。
<!DOCTYPE html>
<html lang=
"ja"> <head>
<meta charset=
"UTF-8"> <title>離珠のHTMLでしぃ!</title>
</head>
<body>
body要素のサンプル用ページです。
</body>
</html>
- 参照元
参照元
- HTML Living Standard. 4.2.1 The head element
- HTML Living Standard. 15 Rendering 15.3.1 Hidden elements
- HTML 5.2 W3C 勧告. 4.2.1. The head element (W3C勧告、2017年12月14日)
- HTML 5.2 W3C 勧告. 10.3.1. Hidden elements (W3C勧告、2017年12月14日)
- HTML 5.1 W3C 勧告. 4.2.1. The head element (W3C勧告、2016年11月1日)
- HTML 5.1 W3C 勧告. 10.3.1. Hidden elements (W3C勧告、2016年11月1日)
- HTML 4.01 Specification W3C 勧告. 7.4.1 The HEAD element (W3C勧告1999年12月24日)
- HTML 3.2 Reference Specification. The HEAD element (W3C勧告1997年1月14日)
- Hypertext Markup Language - 2.0 (November 1995)
- Hypertext Markup Language (HTML) (June 1993)
- MDN Web Docs. HTML <head>: 文書メタデータ (ヘッダー) 要素
- 最終確認日
- 2022-07-27
使用可能な箇所
html要素に
配置できます。
head要素は、html要素の最初の要素として配置できます。
と言うより html要素の最初以外には配置できないという事です。head要素は空でもタグが省略できるので、html要素の最初にあるものとして処理されます。
<!DOCTYPE html>
<html lang=
"ja"> <head>
<meta charset=
"UTF-8"> <title>離珠のHTMLでしぃ!</title>
</head>
<body>
</body>
</html>
html要素の最初の要素として、head要素を配置できます。
<!DOCTYPE html>
<head lang=
"ja"> <meta charset=
"UTF-8"> <title>離珠のHTMLでしぃ!</title>
</head>
<body lang=
"ja"> </body>
html要素は、開始タグ, 終了タグともに省略が可能です。ただしタグの記述が省略されているだけで、要素がない訳ではありません。
例では、html要素のタグを省略して、代わりに子要素にlang属性を記述しています。意味としては少々異なりますが、同等の効果は得られると思います。
<!DOCTYPE html>
<html lang=
"ja"> <meta charset=
"UTF-8"> <title>離珠のHTMLでしぃ!</title>
<body>
</body>
</html>
head要素は、開始タグ, 終了タグともに省略が可能です。ただしタグの記述が省略されているだけで、要素がない訳ではありません。
配置できるコンテンツ
メタデータコンテンツを
配置できます。
head要素は、文書が iframe要素の文書である場合、または題名情報がより上位の
<head>
<meta charset=
"UTF-8"> <title>離珠のHTMLでしぃ!</title>
<base href=
"http://risyu.in.coocan.jp/" target= "_self"> <link rel=
"stylesheet" href= "./risyu.css" type= "text/css"> <style>
body{ color:
#ff0000; }</style>
<script src=
"./risyu.js"></script> <noscript>
<link rel=
"stylesheet" href= "./noscript.css" type= "text/css"> </noscript>
<template id=
"iteTemplate"> <!--ここにテンプレートを書く-->
</template>
</head>
charset属性を指定している meta要素は、head要素の最初の要素として配置する事が望ましいです。
iframe要素によって表示されるHTML文書などより高い
base要素は1つ以下です。それ以外のメタデータコンテンツを0個以上が指定可能です。
メタデータコンテンツの一覧
- meta要素
- 一般的な
メタ情報 - title要素
- 文書の題名
- base要素
- 文書の基底 URI
- link要素
- 外部リソースに
リンク - style要素
- スタイル情報
- script要素
- スクリプト
- noscript要素
- スクリプトが
無効な 場合 - template要素
- コンテンツの
雛型
属性
グローバル属性のみ、
設定できます。
head要素は、グローバル
head要素は、メタデータを含む (囲む, まとめる) 要素なので、属性を設定する必要はないと思います。メタデータの多くが文書と異なる性質を持つ場合のみ、属性を指定する意味があるでしょう。それ以外ではHTML文書の基点(ルート)に属性を設定するのが望ましいです。
Web API
documentの
プロパティである
headは、
head要素を返します。
document
.head .className = "ecoTest0000"; window.alert(
"document.head.className=" +document.head.className); window.alert(
"document.documentElement .children[0].className);
head
は、document
のプロパティであり、要素であるhead要素を返します。
レンダリング
html {
display: none;
}
head要素は、ビジュアルメディアではボックスを生成せず、レイアウトに影響を与えません。
気を付ける点
タグの省略の扱い
head要素のタグは省略できます。要素が空でそれに続く最初のものが空白文字やコメントでない場合は、開始タグ, 終了タグの共に省略ができます。
しかし head要素自体はそこに存在します。html要素の最初の要素として配置できる head要素は空で記述しなくても存在するという事です。
つまり body要素を html要素の内部の最初の記述としても、それは html要素の2番目の子要素として配置されているという事です。
そしてそれは、記述している時は分かっていても読む時に「head要素はどこ?」と分かり難いという事です。
<!DOCTYPE html>
<html lang=
"ja"> <body>
<h1>離珠のHTMLでしぃ!</h1>
</body>
</html>
文書が iframe要素の文書であるなど title要素が任意の場合に、head要素が空の場合があります。その時 開始タグ, 終了タグ共に省略した場合に html要素の最初の内容(コンテンツ)としての記述が body要素になる事があります。