すでにメンバーの場合は

無料会員登録

GitHubアカウントで登録 Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

登録がまだの方はこちらから

Pikawakaにログイン

GitHubアカウントでログイン Pikawakaが許可なくTwitterやFacebookに投稿することはありません。

HTML5・CSS3

更新日:

【HTML5・CSS3】 ワークショップ「HTML」

Webページは、「HTML」と「CSS」という2つの言語を組み合わせて作られています。

HTMLは、Webページといった文書の構造を作ることが役割で、CSSは、HTMLで作成された文書の見た目を調節することが役割です。

HTMLとCSSの役割

HTMLとCSSを学ぶことで、Webサイトの基本的な仕組みを理解できるようになります。

また、Rubyなどのプログラミング言語を学んでWebアプリケーションを開発したい人もHTMLとCSSの知識は必要になるので、基礎を押さえておきましょう。

HTMLの書き方を学ぼう

以下のペンマークのアイコンが表示されたら、実際に手を動かしてコードを書いてみましょう!

ページのソースを確認してみる

まずは、Google Chromeで「おすすめのテキストエディタ11選」のページを開きましょう。

ページを開いたら画面上(画像がない箇所)で右クリックして、以下のようにメニューから「ページのソースを表示」をクリックしましょう。

ページのソースを表示

クリックすると、以下の画像のように別タブでページが開かれます。Chromeの画面上には、記号や英単語、日本語が組み合わさったテキストがたくさん表示されていますね。

これは「おすすめのテキストエディタ11選」のページを構成するHTMLです。

HTMLソース

上記のようなWebページなどの「元となる情報」は、ソースコードソースと呼ばれます。

ソースコードと「おすすめのテキストエディタ11選」のページを見比べてみます。

以下のようにテキスト箇所は、pという記号で囲われていますね。
こちらのpは、「Paragraph」の略で段落に付ける記号になります。

p要素

その他にも、markstrongという記号で囲われる箇所があります。markは、目立たせたいテキストに付ける記号で、strongは強調したい重要なテキストに付ける記号になります。

p要素以外の要素

このようにHTMLでは、文章の意味を考えて適切な記号で囲うことで、Webページを作成します。記号は、タグと呼ばれます。

HyperText Markup Language

HTMLとは「HyperText Markup Language」の略で、Webページを作成する為に開発されたマークアップ言語です。

  • HyperText - 画像やリンクを埋め込める高機能なテキストのこと
  • Markup - 文書の各部分をタグで囲い、意味をつけること
  • Language - 決まりごと(ルール)

HyperText(ハイパーテキスト)

HyperTextとは、ハイパーリンク(クリックすると別のページに移動するリンク)を挿入することができるテキストのことです。

他にも、画像や動画などのデータをリンクとして埋め込むことができます。

HyperText

HyperTextの仕組みを使うことで、関連するWebページ同士を閲覧できるように結びつけ、情報を整理することができます。

Markup(マークアップ)

Markup(マークアップ)とは、コンピュータが文書の構造を認識できるように、文書の各部分をタグと呼ばれる記号で囲み、意味をつけることです。

先ほどのソースコードでも、pという記号で囲われる部分がありましたね。pは段落に付ける記号なので、「この部分は段落」という意味づけを行なっているのです。

マークアップ

コンピュータは人間のように「見出し」や「段落」をデザインやレイアウトから認識して判断することができないので、このようなマークアップが必要になります。

コンピュータと人間

マークアップ

文書の各部分をタグで囲み、意味づけを行うことを「マークアップする」と呼びます。

マークアップすることで、具体的にはWebブラウザがWebページ内の各部分の意味を理解して表示できるようになります。

それでは、HTMLの書き方について学んでいきましょう!

ぴかわかさん
ポイント
  1. HTMLとは「HyperText Markup Language」の略で、HyperTextを作るために「タグ」でマークアップする言語のこと
  2. マークアップするとは、文書の各部分をタグで囲み、意味づけを行うこと
  3. 言語は、タグを付ける際の決まりごとを意味する

HTMLタグの仕組み

<>で囲まれた文字列の並びがタグです。タグの名前は、要素名と呼びます。

タグ

HTMLでは、タグでマークアップするときに、表現したい内容を<要素名></要素名>で囲みます。

ポイント
  1. タグは、「<>で囲まれた文字列の並び」を指す
  2. タグの名前を「要素名」と呼ぶ

開始タグ・終了タグ・要素

<要素名>開始タグ</要素名>終了タグと呼びます。

タグの仕組み

多くの場合、開始タグと終了タグはペアで使われます。終了タグには、要素名の前に/が入るので注意してください。

開始タグと終了タグ、表現したい内容を含めた全体のことを「要素」と呼びます。

タグと要素

用語がたくさん出てきたので、以下のサンプルコードで整理しておきましょう。

HTML | サンプルコード
1
<p>HTMLとは「HyperText Markup Language」の略です。</p>
用語 サンプルコードの箇所
タグ <p></p>
要素名 p
開始タグ <p>
終了タグ </p>
要素 <p>HTMLとは「HyperText Markup Language」の略です。</p>
ポイント
  1. マークアップは、表現したい内容を<要素名></要素名>で囲む
  2. <要素名>を「開始タグ」、</要素名>を「終了タグ」と呼ぶ
  3. 「要素」とは、開始タグと終了タグ、表現したい内容を含めた全体のこと
適切なタグでマークアップしてみよう
コードペンの使い方を確認しよう

コードペンとは、Webの見た目を即座に確認するためのオンラインコードエディターです。コードペンを使うと、HTML・CSSのコードを書き、結果をリアルタイムでプレビューできます。このコードペンを使ってHTML・CSSの使い方を学んでいきましょう。

以下の画像がコードペンになります。左側の緑色の枠線で囲まれているエリアにHTMLを書いていきます。

コードペンのHTMLエリアの画像

そして右側のResultラベルがある緑色の枠線で囲まれているエリアには、HTMLで書いた結果をリアルタイムでプレビューできます。

コードペンのResultエリアの画像

コードペンはブラウザ上で直接文字を打ち込めます。

以下の動画のように左側のHTMLの枠内に「コードペン」と文字を打ち込むと、右側のプレビューに表示されますね。

コードペンの打ち込み動画

実際にコードペンを使って文字を打ち込んでみよう!

以下の左側のHTMLの枠内の2行目に「コードペン」と文字を打ち込んで、プレビューに表示されていることを確認してみましょう。

See the Pen 2023_08_workshop by miyajima yuya (@pikawaka) on CodePen.


タグを使用せずにテキストを入力すると、どのような結果になるかを確認しよう

こちらのテキストをHTMLのタグで囲っていきます。

index.html | マークアップ前
1
2
HTMLの概要を学ぼう
HTMLとは「HyperText Markup Language」の略です。

上記のテキストをコードペンで反映させると、以下のような表示になります。

See the Pen 2023_08_workshop_02 by miyajima yuya (@pikawaka) on CodePen.

テキストには、タグで囲み意味付け(マークアップ)していないので、人間側が「ここは見出し」「ここは段落」と考えていても、Webブラウザは認識することができません。

テキストをマークアップ(タグで囲み意味付け)してみよう!

テキストをマークアップして、以下のようにWebブラウザが見出しと段落を解釈できるように変えてみます。

マークアップ前後の比較

マークアップする際には、テキストの意味を考えて、適切なタグを選びます。
以下のHTMLの概要を学ぼうでは「大見出し」の意味を付けて、HTMLとは~は「段落」の意味を付けます。

index.html | マークアップ前
1
2
HTMLの概要を学ぼう <!-- 大見出しの意味を付ける -->
HTMLとは「HyperText Markup Language」の略です。<!-- 段落の意味を付ける -->

テキストの意味から、h1タグとpタグを選びます。h1は「1番大きな見出し」という意味を持ちます。pは「段落」でしたね。

それでは、テキストをタグで囲み、意味を付けてみましょう。

See the Pen 2023_08_workshop_03 by miyajima yuya (@pikawaka) on CodePen.

テキストをタグで囲んで、以下のプレビュー画面のように「見出し」と「段落」が表示されていれば、タグの反映が完了です。

タグの反映完了画像

マークアップする前と比較しても、見出しの文字が大きくなったり、段落をあけて表示されていますね。

マークアップ前後の比較

このようにHTMLでは、テキストの意味を考えて適切なタグで囲むことによって、文書の構造を作ることができます。

見出しの要素は <h1> 要素以外にも、 <h2><h6> 要素があります。 h はheading(見出し)の略になります。
<h1> が一番大きな見出しで、 h に続く数字が大きくなるにつれて、以下のコードペンのように小さい見出しになります。

See the Pen 2023_08_workshop_heading by miyajima yuya (@pikawaka) on CodePen.

HTMLでは今回勉強した h1 ~ h6p 以外にも多くのタグがあるので、その他のタグについても確認していきましょう。

文字を太文字にしてみよう!

以下のように、bタグで文字を囲むと太文字にできます。

HTML
1
<b>太文字の文章</b>

以下のコードペンのHTML側の文字にbタグを追加して、「結果」と同じプレビューの表示になるように修正しましょう。

See the Pen 2023_08_workshop_04 by miyajima yuya (@pikawaka) on CodePen.

結果 ↓

太文字のプレビュー


テキストに下線を引いてみよう!

以下のように、uタグで文字を囲むと、囲んだ文字に下線を引けます。

HTML
1
<u>下線付きの文章</u>

以下のコードペンのHTML側の文字にuタグを追加して、「結果」と同じプレビューの表示になるように修正しましょう。

See the Pen 2023_08_workshop_07 by miyajima yuya (@pikawaka) on CodePen.

結果 ↓

下線付きの文章

箇条書きリストを作成してみよう!

ulタグは、以下の様にリスト項目を表すliタグとセットで記述することで、箇条書きリストを作成できます。

HTML
1
2
3
4
5
<ul>
  <li>ポチ一つ目</li>
  <li>ポチニつ目</li>
  <li>ポチ三つ目</li>
</ul>

以下のコードペンのHTML側の文字にulタグとliタグのセットを追加して、「結果」と同じプレビューの表示になるように修正しましょう。

See the Pen 2023_08_workshop_06 by miyajima yuya (@pikawaka) on CodePen.

結果 ↓

ulタグのプレビュー

表を作成してみよう!

HTMLで表を作成する際は <table> タグを使用します。
ただ <table> タグだけでは表を作成できません。行や列にデータを表示するその他の関連するタグと<table> タグを一緒に使用することで、表を作成できます。

行や列にデータを表示するその他の関連タグは、主に以下のタグがあります。

  1. <table> : テーブルを始めるタグ
  2. <tr> : テーブルの行を定義するタグ
  3. <td> : テーブルのデータセルを定義するタグ
  4. <th> : テーブルのヘッダセルを定義するタグ。このセルのテキストは通常太字で表示されます。

以下のようにtableに関連するタグを組み合わせることで、表を作成できます。

HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<table border="1">
  <tr>
    <th>名前</th>
    <th>年齢</th>
  </tr>
  <tr>
    <td>田中</td>
    <td>25</td>
  </tr>
  <tr>
    <td>佐藤</td>
    <td>30</td>
  </tr>
</table>

※ table要素内にある border="1" は枠線を表示するためのオプションになります。codepenで表のイメージをつけるために追加しているオプションになるので、borderオプションについては気にしなくて大丈夫です。

以下のコードペンのHTML側の文字表を作成するためのタグを追加して、「結果」と同じプレビューの表示になるように修正しましょう。

See the Pen 2023_08_workshop_08 by miyajima yuya (@pikawaka) on CodePen.

結果 ↓

特別な意味を持たないタグ

これまで「pタグで囲った部分は『段落』、h1タグで囲った部分は『大見出し』を示す」というような意味を持つタグについて説明してきましたが、HTMLのタグには、特別な意味を持たないタグもあります。

意味を持たないタグには、主にdivタグとspanタグがあります。

要素 意味 タグ 主な用途
div タグ自体に特別な意味はない <div></div> 他の要素をグループ化
span タグ自体に特別な意味はない <span></span> 要素の一部をグループ化

divタグやspanタグは、何の意味も持たせたくない部分をグループ化する時に役立ちます!

ぴかわかさん

divタグとは

divは「DIVison(区分)」の略で、タグ自体に特別な意味を持ちませんが、他の要素をまとめてグループ化することができます。

要素をグループ化するには、以下のようにdivタグで囲います。

HTML | サンプルコード
1
2
3
4
<p>いただきます</p>
<p>ごちそうさま</p>
<p>おはよう</p>
<p>おやすみなさい</p>
HTML | divで2つのグループに分ける
1
2
3
4
5
6
7
8
9
<div>
  <p>いただきます</p>
  <p>ごちそうさま</p>
</div>

<div>
  <p>おはよう</p>
  <p>おやすみなさい</p>
</div>

spanタグとは

spanタグはdivタグ同様に単体では特別な意味を持ちませんが、要素の一部をグループ化することができます。

要素の一部をグループ化するには、以下のようにspanタグで囲います。

HTML | サンプルコード
1
<p>WWWは、World Wide Webの略です。</p>
HTML | spanでp要素の一部をグループ化
1
<p>WWWは、<span>World Wide Web</span>の略です。</p>

divとspanの違い

divspanは、どちらも単体では意味を持たないタグであり、タグで囲うことでグループ化することができますが、レイアウトの初期値が違います。

例えば、ほとんどのブラウザではdiv要素の前後に改行が挿入されますが、span要素の前後には改行が挿入されません。

divとspanの違い

この辺のレイアウトの違いについては、次のCSS基礎で詳しく学びます。

現段階ではdivspanはレイアウトの初期値の違いがあり、「他の要素をまとめてグループ化する場合はdiv、要素の一部をグループ化したい場合はspanを使う」とだけ頭に入れておきましょう。

divタグを使ってみよう

以下のコードペンのHTML側の文字にdivタグを追加して、「結果」のようにdivタグの前後が改行されるように修正しましょう。

See the Pen 2023_08_workshop_div by miyajima yuya (@pikawaka) on CodePen.

結果 ↓

divタグを使った例

spanタグを使ってみよう

以下のコードペンのHTML側の文字にspanタグを追加して、「結果」のようにspanタグの前後が改行されないことを確認しましょう。

See the Pen 2023_08_workshop_div by miyajima yuya (@pikawaka) on CodePen.

結果 ↓

spanタグを使った例

HTMLの問題を解いてみよう

問題1

以下の表に書かれている指示に従って「見本」と同じプレビューになるように、見出しを作成しなさい。

要素 内容
h1 大見出し
h2 中見出し
h3 小見出し

[ 見本 ]

問題1の見本画像

[ 問題 ]

See the Pen 2023_08_workshop_q1_sample by miyajima yuya (@pikawaka) on CodePen.

問題2

以下の表に書かれている指示に従って「見本」と同じプレビューになるように、「見出し」と「段落」を作成しなさい。
※ 段落は適切なタグで囲って意味付けを行うこと

見出し 見出しの内容 段落の内容
h1 夏の果物 夏の果物はとても甘く、ジューシーです。
h2 大きな果物 大きく人気のある果物を紹介します
h3 スイカ スイカは暑い日にぴったりの果物です。
h3 メロン メロンは高級なフルーツとして知られています。

[ 見本 ]

問題2の見本画像

[ 問題 ]

See the Pen Untitled by miyajima yuya (@pikawaka) on CodePen.

問題3

「問題」のコードペン内にあるテキストを修正して、適切なタグを使って「HTML」を太文字にして下さい。

[ 見本 ]

問題3の見本画像

[ 問題 ]

See the Pen 2023_08_workshop_q3_sample by miyajima yuya (@pikawaka) on CodePen.

問題4

「問題」のコードペン内にあるテキストを修正して、適切なタグを使って「オンラインコードエディター」に下線を引いて下さい。

[ 見本 ]

問題4の見本画像

[ 問題 ]

See the Pen 2023_08_workshop_q4 by miyajima yuya (@pikawaka) on CodePen.

問題5

「見本」と同じプレビューになるように、「箇条書きリスト」を作成しなさい。

[ 見本 ]

問題5の見本画像

[ 問題 ]

See the Pen 2023_08_workshop_q5 by miyajima yuya (@pikawaka) on CodePen.

問題6

以下の表に書かれている指示に従って「見本」と同じプレビューになるように、「表」を作成しなさい。

名前 国語 英語 社会
田中 70点 80点 90点
佐藤 60点 85点 95点
鈴木 90点 92点 91点

[ 見本 ]

問題6のサンプル画像

[ 問題 ]

See the Pen 2023_08_workshop_q6 by miyajima yuya (@pikawaka) on CodePen.

問題7

以下の表に書かれている指示に従って「見本」と同じプレビューになるように、マークアップして下さい。
また「段落」と「箇条書きリスト」と「表」に関する指示はありません。「段落」と「箇条書きリスト」と「表」の要素がどこに必要か考え、マークアップして下さい。

要素名 内容
h1 日本の観光地
h2 関東地方/関西地方
h3 東京都/神奈川県/京都府/大阪府
b 関東地方/横浜/たこ焼き
u 多くの観光地/鎌倉/たこ焼き

[ 見本 ]

問題7のサンプル画像

[ 問題 ]

See the Pen 2023_08_workshop_q7_sample by miyajima yuya (@pikawaka) on CodePen.