HTMLの骨組みを理解する

HTMLの基本的な構造について、きちんと理解した状態で使えるようHTMLを構成する骨組みとなる要素について調べました。


## 目次
1. HTMLとは
2. < !DOCTYPE html > とは
3. < html >~< /html > とは
4. < head >~< /head > とは
5. < meta charset="UTF-8" > とは
6. < meta name="description" content="~" > とは
7. < title >~< /title > とは
8. < body >~< /body > とは
9. おわりに

## 1.HTMLとは
>HTMLとは「Hyper Text Markup Language（ハイパー・テキスト・マークアップ・ランゲージ）の略で、Webページの土台となるファイルを作成する言語です。Webページに表示したい文章などを「<」と「>」で挟まれた「<strong>タグ</strong>」と呼ばれる特殊な文字列で囲んで書いていきます。
「タグ」には様々な種類があり、それぞれに意味をもっています。タグで文字列を囲むことで、「ここは見出しです」「これはリンクで、クリックするとこのページに移動します」という指示をしています。そうやって、コンピューターがそのページを理解できるようにすることがHTMLタグの役目です。インターネット上に存在する多くのWebサイトがHTMLを使って作られています。



## 2.< !DOCTYPE html > とは
>< !DOCTYPE html >はDoctype（ドクタイプ）宣言と言い、そのページがどのバージョンのHTMLで、どの仕様に合わせて作られているのかを書いています。

バージョンによって使用できるタグや属性が異なっていたり、指定方法が異なるため、ここで明確にする必要があります。
現在は、「<strong>HTML5</strong>」が主流となっています。
HTML5はHTML4に比べ以下のように、シンプルに記述することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760634/f9990cc9-c0cf-3235-b0f5-146a14fec39e.png)


## 3.< html >~< /html > とは
>Docutype宣言のすぐ後に記述します。これはHTMLの文書だということを表しています。「lang」はWebページの言語を設定できる部分で、「ja」はJapaneseの略です。つまり日本語の文書であることを示しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760634/8695b3dd-7588-c9fe-a975-8606ee4657eb.png)



|言語名  |言語コード  |
|---|---|
|日本語  |ja  |
|英語  |en  |
|アメリカ英語  |en-US  |
|イギリス英語  |en-GB  |
|中国語  |zh  |
|韓国語  |ko  |
|ドイツ語  |de  |
|フランス語  |fr  |

etc...


## 4. < head >~< /head > とは
>この部分はページのタイトルや説明文、使用する外部ファイルのリンクなど、ページの情報を記述しています。ブラウザーには表示されません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760634/53c2c4f0-9215-bf26-1647-2acbdfbccc1d.png)



ブラウザに表示されないことから役割を理解しづらいように思えますが、実際にはhtmlを表示させることや、Web上の情報を検索エンジンが収集するために使用される<strong>クローラー</strong>と呼ばれる自動プログラムへ情報を伝えるなど大きな役割を担っています。

## 5. < meta charset="UTF-8" > とは
>これは文字コードを「UTF-8」にするという指定です。これが正しく表記されていないと文字化けをしてうまく文字が表示されない場合もあるので、必ず記述しましょう。「meta」は「メタ要素」と言います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760634/4f2d4cb1-f4ae-2df0-e8bb-0d525c78d7f6.png)


## 6. < meta name="viewport" content="width=device-width, initial-scale=1.0" > とは
>viewportタグは、PCやモバイル（スマホ、タブレット）といったデバイスごとにコンテンツの表示領域を設定するためのmetaタグのことです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760634/b0392f36-26a9-ac83-81f9-2e90f44c3345.png)

<strong>width=device-width</strong>：表示領域の幅。端末画面の幅に合わせる指定ができます。
<strong>initial-scale</strong>：ページが最初に表示されたとき、ユーザーがコンテンツを見やすく表示させるための設定です。「<strong>1.0</strong>」とすることで、ユーザーが最初にページを開いた時に画面全体に違和感なくコンテンツを表示することが可能です。

このタグを使用し、デバイスごとの表示設定を行うことで、スマートフォンやタブレットでも文字や画像を見えやすくすることができます。
デバイスごとに調整した画面表示のデザインを<strong>レスポンシブデザイン</strong>と呼びます。


## 7. < title >~< /title > とは
>ページのタイトルを記述します。この名前がブラウザのタブや、ユーザーがWebサイトをブックマークしたり、検索した時のページタイトルとして表示されます。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760634/179d1a62-3c4c-03c3-0faf-d09b69d3192d.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760634/d5ed4591-6507-21b4-5f03-18442b50e383.png)


## 8. < body >~< /body > とは
>HTML文書の本体部分です。ここにコンテンツを入力することで、実際にブラウザー上で表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3760634/786d7618-ac16-78f0-a3ac-583cdd7df47a.png)

body部分では様々なHTMLタグを使って見出しや段落など目的に合わせた要素で表示していきます。

## 9. おわりに
タグによっては目に見えない部分での役割などただコンテンツを書いているだけでは分かりにくいものもありますが、具体的な役割をしっかりと把握することで、なぜこのタグが必要なのかを理解でき、エラーが起きた場合などに原因を突き止めやすくなると感じたので、それぞれの目的を意識しながらHTMLを使用していきたいと思います。

***
参考文献
Mana.1冊ですべて身につくHTML&CSSとWebデザイン入門講座.SBクリエイティブ株式会社,2019.