HTMLを書く(後編)

3.要素を入れる

では実際に要素を入れていきますが、
スマホ版の時に増えるもの・消えるものが有ります。

これはCSSで調整するので、一旦は全て入れておきます。

必要なら画像も用意しておきます。
今回は全部ダミーです。
他のページとも共通になる部分から先に作ります。

■ヘッダー
<head>とは別に、表示上の基本情報を入れます。
だいたいロゴとか、最初に目にしてほしいものです。

画像(imgタグ)はh1で囲みました。
見出しタグといい、h1~h6まであります。名前のとおり、見出しに使います。
なおルール上、h1はそのページの主題につけるため、一度しか使えません。
テキストを<p>で囲っていますが、これは場所をコントロールするための準備です。
念のためclassも付けておきます。
こうしておくと後から要素を増やした時に調整が効きやすくなります。

※divを忘れてたので足しました

■フッター
一番最後に表示したい情報を入れます。
企業サイトだとここにカテゴリ一覧載せてることが多いです。
特に無いのでそれっぽくコピーライトでも入れておきましょう。

&copy;は実体参照という書き方です。
見る環境、主に機械そのものに影響されて表示できなくなる文字が有ります。
これを「機種依存文字」と呼び、表示を揃えるために実体参照に変換して記述します。

ここまで記述したら、一旦そのファイルをコピーして取っておきましょう。
他のページを作るのに使います。

■TOPの中身を作る

メイン画像を入れます。

一旦ここも<p>で画像を囲っておきます。

ナビを入れます。

並列情報はリストタグで配置します。
別に<p>でも良いのですが、グループを作っておくことで分かりやすくなります。
aはリンク用のタグです。WEBでいちばん重要なタグです。

メインを入れます。

長くなるので一つしか入れていませんが、構成書では最高6つなので、入れておきましょう。
これも並列情報なので大枠はリストにしておきます。
更新情報から直接リンクしたいので、aで囲みます。
その中にもう一つあるdlは「定義リスト」のタグです。
dt で定義した要素を、
dd で補完あるいは説明する
という特殊な役割です。
spanはdivと同じように囲むタグですが、箱と言うよりは布のように柔軟な包み方が出来るタグです。

サイド…は構成書ではツイッターのウィジェットなので、今回は置いておきます。

上に戻るボタンを入れます。

構成上無くても平気な方は不要です。
指定しているリンクは、飛ばしたいエリアのIDと同じものを入れます。
#を最初に必ず必要です。これはclassではできません。
昔は<a name=”top”></a>などと指定しなければいけなかったページ内リンクですが、今は不要です。

これでTOPのHTMLは完成です。

さっき作っておいたコピーを使って、他のページも作っておきます。

トップとはサイド・メインの順が逆になっていますが、スマホでの表示順のためです。

書いてみてなにかおかしい…?
と思ったときは、ウェブ上のチェックサービスを使用しましょう。
エディタやブラウザによってはプラグインや機能でチェックできますが、サービスを使用すると分かりやすく間違いを教えてくれます。

W3C
https://validator.w3.org/

Another HTML-lint
http://www.htmllint.net/html-lint/htmllint.html

実際に作ったものを見てみましょう。
→トップのサンプル
→各ページのサンプル

要素の確認ができましたが、ひたすらベタ置きで面白みがないですね。
ダミー画像の代わりに写真を入れてみましたが、それでも微妙です。
(ちなみに以前京都と神戸に行った時の写真です)
そのために、CSSでデザインを整えます。

aの中に何を入れる?

若干面倒な話なので書きませんでしたが、今までのHTMLでは実は上記の記述ではエラーになってしまいます。
表示のためのタグは大きく2つにわけられます。

ブロック要素…箱の要素。指定しない限り幅を100%持つ。
インライン要素…中身の要素。自分の領域を保持する。
リストの中身のliなどは両方の属性を持ちます。

中身の要素に無理やり箱を詰めようとすると、怒られてしまいます。

ですがHTML5ではこのルールが排除された(というか寛容になった)ので、aの中にブロック要素を入れてもOKになりました。
HTML4やXHTMLでは使えない(ルール上はダメですが表示はしてくれます)やり方なので、spanでひたすら囲む必要があります。
慣れててもこんがらがってしまうので、出来る限りわかりやすさを優先しました。

HTMLを書く(前編)

0.仕様を決める

HTMLを書く前に、どの仕様で書くかを決めます。
実は決めなくても表示できるのですが、その状態だとブラウザが勝手に判断をしてしまい、場合によっては文字化けや表示崩れの可能性が有ります。
最初に仕様を宣言しておけばそれは避けられます。

決めるものは

  • 言語
  • 文字コード
  • HTMLのバージョン

です。

言語は日本語ページなら日本語で。

「文字コード」はサーバーを確認しておきましょう。
サービスの説明ページにだいたい書いてるはずです。
特に記載がなければ「UTF-8」でいいと思います。
ファイルの保存時に「エンコード」を「UTF-8」にします。
ファイル自体の文字コードと宣言が違っているのも混乱の元です。

HTMLのバージョンは一番新しいHTML5にしておきます。
宣言が楽なのと、結構ゆるい判定してくれるからです。
XHTMLと呼ばれるものは出身がちがうため、ちょっと厳しめです。

1.宣言をする

上から順に
1.HTML5宣言
2.日本語宣言
3~6.上記2つ以外の宣言やページの情報
4.文字コード設定
5.ページのタイトル
7~9.サイトの要素
10.開けたら閉める

2.箱を作る

構成書を見ながら、まずは「ひとまとまりの箱」を決めます。

この「箱」は<div>というタグで囲みます。
並びを確認しつつ置いていきます。
外に見せたい要素なので、<body>の中に全て入れます。

これだけだとどこに何の箱が入っているかわからないので、
名前をつけてあげます。
この名前の付け方は二種類有ります。

id…ページ内で一つしか使えない。
class…何回でも使える。

このルールに合わせて分けます。
名前は自分が分かりやすいものにしましょう。

ちょっとわかりづらいですが、
ヘッダーとフッターの間を一旦囲み、
2つ並びにするところをまとめてまた囲みます。
引き出しの中に箱を敷き詰めていくイメージです。

これで箱ができました。
要素は後編で入れていきましょう。

<HTML5の独自タグについて>

<header><nav><main><article><section><footer>など、HTML5では増えたタグが有ります。
例に上げた上記は今まで<div>にばっかり仕事させてたのを分業して担当をわかりやすくした、ということです。
この講座では覚えるものを少なくするためにあえて使いませんが、どこに何があるか分かりやすくなるという利点も有ります。

HTMLとは

HTMLは何の略語か~とか歴史が云々は別のところに置いといて。

HTMLが果たす役割は「要素の配置」です。
どこに何を置くか、構成で決めたものを実際に配置していく作業が「HTMLコーディング」です。

HTMLには専用の「書式」が有ります。
それが「タグ」です。

適当なサイトを開き、右クリック→ソースを表示
で表示されるものに、

などとあると思います。
<>で囲まれたものが「タグ」です。
細かいところを言うと厳密なルールがあったりするのですが、
ブラウザはちょっとしたミスならスルーしてくれる優しさを持っています。
(優しいだけでもないですが、そこは追々…)
ただそれに甘えると確実に痛い目しか見ないので、できるだけきちんと書くのをオススメします。

※HTMLにはCSSやJavaScriptを直接書くことがあるので、それらは除外します。

HTMLの書き順は基本的に「上から表示させたいもの」です。
横並びの要素の場合は「左から」「右から」のルールを決めておきましょう。
だいたい多いのは「左から」だと思います。

<レスポンシブ対応したい方は>

スマホで表示した時に優先的に表示させたいものから並べます。
この場合、右から左から~は無視して大丈夫です。

実際に書き始めるのは次回から。