CHAPTER 1 · 27 LESSONS · 337 問

ページを組み立てる

タグで文章に意味をつけ、CSSで色や大きさを変える。Webページの骨組みと見た目の入口。

いま見ているこのページも、あなたが毎日開いているサイトも、中身は文字でできている。HTML という書き方で「ここは見出し」「ここは段落」と意味をつけ、CSS という書き方で「見出しは大きく、青く」と見た目を決めている。この章では、その2つの入口に立つよ。

まず押さえたいのが、HTML と CSS の役割分担だ。HTML は「これは何か」を書く。CSS は「それをどう見せるか」を書く。文字を大きくしたいからといって見出しタグを使うのではなく、見出しだから見出しタグを使い、大きさは CSS で決める。この分担を最初に体に入れておくと、あとで迷わなくなる。

HTML の書き方は単純だよ。<p> で始めて </p> で閉じる。この囲みを タグ と呼び、囲まれた中身がそのタグの意味を持つ。段落なら <p>、見出しなら <h1> から <h6>、リンクなら <a>。覚えるタグはたくさんあるように見えて、よく使うものは20個くらいしかない。

タグは入れ子にできる。段落の中にリンクを入れる、リストの中に項目を並べる。入れ子の対応が崩れると表示も崩れるので、開いたら必ず閉じる、という習慣をここでつけておこう。

CSS のほうは「どれを何をどうする」の3点セットで書く。h1 { color: red; } なら、「h1 を、色を、赤に」だ。この「どれを」の部分を セレクタ と呼ぶ。タグの名前で指定するのが一番単純な方法だけれど、それだけだと「このボタンだけ色を変えたい」ができない。そこで出てくるのが class だよ。要素に自分で名前をつけておいて、その名前で狙い撃ちする。

もうひとつ大事なのが div だ。それ自体には意味がないタグで、いくつかの要素をまとめて1つの箱にするために使う。まとめておくと、その箱ごと位置を動かしたり、まとめて余白をつけたりできる。レイアウトの話に入ると、この「箱で考える」感覚が効いてくる。

章の後半では、ページ全体の骨組み(html head body の構造)と、余白と枠の扱いに進む。余白は地味だけれど、見た目の印象をいちばん大きく左右する部分だよ。要素の内側の余白と外側の余白は別のものとして指定する。この区別があいまいだと、思ったところに隙間ができない、という状態が延々と続くことになる。

CSS で覚えておきたいことがもうひとつある。同じ要素に複数の指定が当たったとき、どれが勝つかというルールだよ。タグ名で指定したものより class で指定したもののほうが強く、後から書いたもののほうが強い。「書いたはずのCSSが効かない」の原因は、たいてい別の指定に負けているだけだ。書きまちがえたと思って見直す前に、まず何かに上書きされていないかを疑ってみよう。

余白のところでは、内側の余白と外側の余白をきちんと区別しておこう。内側は枠の中の隙間で、背景色がついた範囲が広がる。外側は隣の要素との距離で、背景色はつかない。同じ「隙間を空ける」でも、どちらを使うかで見え方が変わるよ。

進めるときは、こまめに表示を確かめるのがいちばんだ。CSS は書いた結果がすぐ目に見えるので、少し書いては見る、を繰り返すのが速い。この教材ではプレビューが横に出るので、打ったそばから変化を確かめられるよ。

この章を抜けると、文章と画像が並んだ簡単なページを、自分の手で最後まで組めるようになる。まだ飾り気はないけれど、これがすべての Web ページの土台だ。この上に、次の章から見た目を積んでいこう。

この章のレッスン

タグで文章に意味をつける

  1. 01タグではさんでみようHTMLは文章をタグではさんで書く。いちばん小さな書き方から始めよう。 問題へ
  2. 02見出しをつけよう<h1><h6> の見出しと段落を組み合わせて、文章に骨組みを作ろう。 問題へ
  3. 03リンクでつなごう<a> タグと href 属性で、ほかのページへ飛べる文字を作ろう。 問題へ
  4. 04画像をならべよう<img> タグと src 属性で、ページに絵や写真を置こう。終了タグのないタグに出会うよ。 問題へ
  5. 05箇条書きを作ろう入れ物の <ul><ol> と項目の <li> を入れ子にして、リストを組み立てよう。 問題へ
  6. 06はじめてのHTML見出しと段落のタグで、はじめてのWebページを作ろう。 問題へ
  7. 07リストとリンクを学ぼう箇条書きの ul/li と、ページをつなぐ a タグを使えるようになろう。 問題へ
  8. 08CSSのきほんCSSでページに色や大きさの「見た目」をつけよう。 問題へ
  9. 09class と divclass 属性で「この要素だけ」にスタイルをあてよう。 問題へ

CSSで見た目を変える

  1. 10CSSで文字に色をつけるセレクタ・プロパティ・値の3点セットで、文字の色を変えてみよう。 問題へ
  2. 11文字の大きさと書体font-size で大きさ、font-family で書体を変えて、同じHTMLの見え方を作りかえよう。 問題へ
  3. 12要素を「箱」としてあつかうbackground-color・width・height で、文字ではなく要素そのものの領域を変えてみよう。 問題へ
  4. 13class で名前をつけるclass 属性で要素に名前をつけて、同じタグでもちがうスタイルを当てられるようにしよう。 問題へ

ページ全体の骨組み

  1. 14HTMLファイルの骨組みhead と body の役割を知って、ページの名前を決める <title> を書けるようになろう。 問題へ
  2. 15CSSファイルを読みこむ<link> タグで HTML から style.css を呼び出し、文書と見た目をファイル単位で分けよう。 問題へ

パーツごとに組む

  1. 16ページを領域に分ける<div> と class でページを上・中・下の領域に分けて、レイアウトの土台を作ろう。 問題へ
  2. 17ヘッダーの中身を組むページ上部の帯に、ロゴとメニューを入れ子で並べよう。 問題へ
  3. 18ヘッダーを横並びにするfloat を使って、縦に積まれた要素を横に並べよう。 問題へ
  4. 19ヘッダーの中の位置をそろえる行の高さを帯の高さに合わせて、文字を上下の真ん中に置こう。 問題へ
  5. 20フッターの中身を組むページの足元の帯に、店名・リンク・著作権表示を並べよう。 問題へ
  6. 21フッターを右と左に振り分けるfloat: right を覚えて、左に名前・右にリンクの帯を作ろう。 問題へ
  7. 22メインの箱を中央に置く本文の幅を決めて、ページのまん中に置こう。 問題へ
  8. 23同じ形のかたまりを並べる一覧に並ぶ中身を、まったく同じ構造のかたまりとして書こう。 問題へ

枠と余白で整える

  1. 24枠線をつける太さ・種類・色の3つを指定して、箱に枠線を引こう。 問題へ
  2. 25内側の余白と外側の余白padding と margin を使い分けて、窮屈な見た目に余裕を作ろう。 問題へ
  3. 26フォームの部品を並べる入力欄・選択欄・ボタンを form の中に組み立てよう。 問題へ
  4. 27フォームの見た目を整えるラベルを1行に、入力欄を大きく、ボタンを押しやすく仕上げよう。 問題へ

つぎは「見た目を作り込む」。色の重なり・文字の間隔・ボタン・押したときの変化。ページを「それっぽく」見せる細部。