【初めてのHTML】押さえておくべき基本構造を解説！　byウェブカツ

今回は、**HTMLの学習を始めたばかりの初心者**向けに、**HTMLの基本的な構造**について解説していきます。

##HTMLの基本構造

あくまでも基本ですが、HTMLの全体構造はこんな感じになっています。
![](https://webukatu.com/wordpress/wp-content/uploads/2020/06/HTML_basic_structure.001.jpeg)

…とイキナリ言われても、最初はなんのこっちゃ？
と感じると思いますので内容は順番に解説していきます。
（最後にもう一度同じ図を載せているので、とりあえずザッと読んで、最後にもう一度イメージを固めてください）

## DOCTYPE宣言
**「ドキュメントタイプ宣言」**と呼びます。

**HTMLを書く際に一番最初に書かないといけない部分**です。
まぁ「そういうルールだから」なんですが、せっかくなのでもう少し詳しめにみていきましょう。


### なぜDOCTYPE宣言が必要か？
HTML文章を読み込んでユーザーが見やすい形に変換してくれるのはみなさんが使っている**「ブラウザ」**というソフトウェアです。
「Google Chrome」とか「Safari」とか「Edge」とかですね。

そのブラウザがHTMLを読み込む際に、**「このデータファイルの文章は何で書かれているのか？」**をDOCTYPEを見て判断しているのです。

* このファイルは「HTML」で書かれているのか？
* あるいは「XHTML」？
* また、バージョンは何を使っているのか？

そういったことを判別するためのものです。

&nbsp;

例えば、あなたが外国語で書かれた文書を読む必要があるとします。
その外国語が英語であればパッと見るだけで、おそらく**「ああ、これは英語だな」**と判別できますが例えばスペイン語やポルトガル語語、イタリア語などであればどうですか？そもそも**「何語で書かれているのか」**すら判断が難しいと思います。
文章の内容を理解するために何語かが判断できなければ、どの辞書を用意すればいいのかすらわかりません。

（現在はGoogle翻訳などが優秀なので入力さえすれば何語か判別してくれますが…）

でも、文書の一番最初に**「これはフランス語ですよ〜」**とか**「イタリア語の文章です〜」**と書いていれば判別できますよね？


「DOCTYPE宣言」をこの例えに当てはめると、
**「○○語で書かれている文書ですよ〜」と最初に宣言してくれているようなもの**です。

&nbsp;

### 宣言しないとどうなる？
これを明確に宣言しておかないと、ブラウザが内容を正確に判別することができず、**思っていたとおりの表示にならない可能性**が出てきます。
ですので、<span class="keiko_yellow">**「必ず先頭にDOCTYPE宣言を書かないといけない」**</span>と覚えておいてください。

### 宣言の書き方
これからHTMLを学習するのであれば、2020年時点で主流となっている**「HTML5」**で記述することがほとんどです。
ですので、今は**「HTML5」の宣言方法だけ**覚えておけば問題ありません。

そのHTML5の宣言方法は、以下のようなシンプルな記述です。
**「必ずファイルの一番頭の部分に書く」**ってことだけ覚えといてください。

```HTML
<!DOCTYPE html>
```
※大文字と小文字はどちらでもOKですが「DOCTYPE」は大文字で書くのが一般的です。
※すべて半角で書いてください。あと、スペースも必ず半角で。

&nbsp;
いくつか解説をしてきましたが、

> HTML文章を書くときは、**先頭に「<!DOCTYPE html>」を記載する**

とだけ覚えておけばOKです。


## HTMLの書き方
さて、ここから実際にHTML要素の記述部分にはいっていきます。

### マークアップ言語
まず、HTMLと言う言語は「マークアップ言語」の一種です。

マークアップ言語とは何かというと**「視覚表現や文章構造などを記述するための形式言語」**のこと。
マークアップ言語では<span class="keiko_yellow">**文章に意味づけをしていく書き方**</span>をします。

「ここの部分は見出しですよー」
とか
「この部分は表なんですよー」
とかの文章構造について意味付けをします。

### タグ
HTMLでは、**「< >」という記号で囲んだ「タグ」を使って、**この意味づけをしていきます。

&nbsp;
このブログもそうですが、文章を作る際に**「大見出し」**があって、その中に**「説明文（段落）」**があったり、さらに**「中見出し」**があって…という構成になりますよね。

&nbsp;
上記の内容を実際にタグで囲んでみるとこのようになります。

```HTML
<h1>ここの部分は大見出しですよ</h1>
<p>ここは説明文（段落）ですよ</p>
<h2>ここは中見出しですよ</h2>
<p>ここは説明文（段落）ですよ</p>
```
ある程度は文字の大きさに影響はでますが、大切なのは見た目ではありません。

**「コンピュータが文章の構造を理解できること」**なんです。

&nbsp;

先ほどもお伝えしましたが、この「<>」で囲んでいるものが「タグ」です。

上記の例ですと、**\<h1>&nbsp; ・・・　\</h1>**</span>　が大見出しの意味づけをする「**h1タグ」**ですので、
この**h1タグで囲まれている文章は、大見出しとして扱われる**ことになります。


## HTML要素
HTMLタグで囲まれている部分をHTML要素と呼びます。

HTMLタグの書き方は
　　**\<html>　・・・　\</html>**
です。

意味付けは
**「HTMLで記述しているのは、このタグで囲まれている部分ですよ〜」**
です。

つまり、**HTMLで記述する文章は、全てこのタグの中に書く必要があります**。

![](https://webukatu.com/wordpress/wp-content/uploads/2020/06/HTML_basic_structure1.001.jpeg)


そして、このHTML要素の中には

* **head要素**
* **body要素**
の2つがあります。

![](https://webukatu.com/wordpress/wp-content/uploads/2020/06/HTML_basic_structure2.001.jpeg)

#### head要素
headタグの書き方は
　　**\<head>　・・・　\</head>**
です。


head要素の意味付けは

* **文書のヘッダ情報を表す部分**
です。

そして、ヘッダ情報とは**「この文書に関する情報」**のことです。
例えば、**「ページのタイトル」**や**「ページの説明文」**といった情報は、この**「head要素」の中に記述**をすることになります。

他にも様々なヘッダ情報がありますが、ここでは、
**「この文章に関する情報」を記述する場所**
とだけ覚えておけばOKです。

#### body要素
bodyタグの書き方は
　　**\<body>　・・・　\</body>**
です。



body要素の意味付けは
**文書の本体（実際にブラウザに表示される内容）を表す部分**
です。

みなさんが普段見ている**WEBサイトの文字や画像**は、基本的に全てこの**「body要素」の中に記述**されています。
![](https://webukatu.com/wordpress/wp-content/uploads/2020/06/HTML_basic_structure3.001.jpeg)

上記の図を実際のタグで書いてみるとこのようになります。

```HTML
<!DOCTYPE html>
<html>
 <head>
   // この箇所にヘッダ情報を記述します。
 </head>
 <body>
   // この箇所にWEBサイトに表示される、文字や画像を記述します。
 </body>
</html>
```


### body要素内容の構造
続いて、**今度はWEBサイトの見た目の構造**についてです。

WEBサイトの見た目を構成している要素は大きく分けて<span class="keiko_yellow">**以下の3つ**</span>になります。
**・header**
**・main（contents）**
**・footer**

実際にWEBサイトをご覧になって、ほとんどが下図のような構造になっていることにお気づきでしょうか？
![](https://webukatu.com/wordpress/wp-content/uploads/2020/06/HTML_basic_structure4.001.jpeg)
また新しいのが出てきましたね。

#### header
WEBサイトの>**ヘッダー部分**です。

headerタグの書き方は
　　**\<header>　・・・　\</header>**
です。

ページの**上部に表示されていて**、**ロゴやサービス名**、**各種メニュー**が配置されていることが多いです。


#### main
WEBサイトの**メインコンテンツ**の部分です。

mainタグの書き方は
　　**\<main>　・・・　\</main>**
です。

**ページで一番伝えたい内容**を配置します。

ここでは**「main」**としましたが、WEBサイトによっては**「contents」**等といった記述をする場合もあります。
（慣習的なもので、明確なルールはありません）

また、メインコンテンツの表現方法もたくさんあり、**サイドバーが左右どちらかに設置されていたり**、
あるいは**両サイドに設定されているサイトもあります**。


### footer
WEBサイトの**フッター部分**です。

footerタグの書き方は
　　**\<footer>　・・・　\</footer>**
です。


ページの**一番下に設置されて**、**会社情報**や**コピーライト表示**が配置されていることが多い箇所です。

## まとめ

最後に、もう一度HTMLの基本構造の図です。

![](https://webukatu.com/wordpress/wp-content/uploads/2020/06/HTML_basic_structure.001.jpeg)

今の段階では「へーそうなんだー」くらいの理解でOKです。
覚える必要はありません。
これから何回も書くことで嫌でも勝手に身につくので、最初は「とにかく手を動かすこと」を意識してやることが大事です。

---
#### かずきち
プログラミング学習サイト「ウェブカツ!!」の顧問。
不動産、保険の営業マンから、エンジニアへ転身。
「HTMLって何？」という状態から3ヶ月の独学のみでエンジニアへ転職し、１年で年収１千万を稼ぐエンジニアへ。
独学時代のプログラミング学習の分かりにくさや、「技術しか出来ずに稼げていないエンジニア」の現状を変えるため「ウェブカツ」を立ち上げ運営している。

【ウェブカツ公式WEBサイト】
[https://webukatu.com/](https://webukatu.com/?utm_source=blog&utm_medium=bl02&utm_campaign=blog_pr)