外部CSSファイルを使ってスタイルを分離し、ページ全体の文字スタイル・余白(padding / margin)・背景色の基本を理解する。また、リセットCSSを導入してブラウザごとの初期スタイルの違いを整える方法を学びます。
作成ファイル・保存場所
css-basicフォルダの中に以下の2つのファイルを用意してください:- HTMLファイル:
02.htmlHTMLファイルはコピーして使用可。 - CSSファイル:
style02.css(今回新たに作成)
- HTMLファイル:
02.htmlは下記からコピー
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>課題02</title>
<link rel="stylesheet" href="style02.css">
</head>
<body>
<h1>私の趣味紹介</h1>
<h2>音楽を聴くこと</h2>
<p>特に <em>クラシック音楽</em> や <i>映画音楽</i> をよく聴きます。</p>
<h2>カフェ巡り</h2>
<h3>お気に入りのカフェ</h3>
<p>地元の <i>隠れ家的カフェ</i> を探すのが好きです。</p>
<h2>読書</h2>
<p>ビジネス書や <em>自己啓発本</em> をよく読みます。</p>
</body>
</html>
指示
以下の手順で、02.html に style02.css を読み込んで、スタイルを適用してください。
<head>に以下の1行を追加して、外部CSSを読み込む:<link rel="stylesheet" href="style02.css">- style02.css ファイルに以下のスタイルを追加してください
- 「任意」と書かれている箇所は自分の好きな色でOKです。
- 簡易的なリセットCSSを設定しておきましょう。
チェックポイント
- 外部CSSファイルがHTMLに正しく読み込まれているか
* { margin: 0; padding: 0; }のようなリセットCSSの効果が見られるか- margin と padding の違いを理解できているか
- 見出し間の余白や段落のスペーシングが整っているか
今回使うCSSプロパティのポイント
margin(マージン) と padding(パディング) はどちらも「余白」ですが、意味と役割が異なります。
| 用語 | 意味 | 余白の位置 | よく使う場面 |
|---|---|---|---|
| margin | 要素の外側の余白 | 他の要素との間隔を調整する | 要素間のスペースを空けたい時 |
| padding | 要素の内側の余白 | 要素内のコンテンツとの間隔調整 | 枠と中の文字の間を広げたい時 |
margin / padding の指定方法いろいろ
| 記述方法 | 値の数 | 説明 | 例 |
|---|---|---|---|
| margin: 10px; | 1つ | 上下左右すべてに同じ値が適用される | 上下左右すべて10px |
| margin: 10px 20px; | 2つ | 上下=1つ目、左右=2つ目 | 上下10px、左右20px |
| margin: 10px 20px 30px; | 3つ | 上=1つ目、左右=2つ目、下=3つ目 | 上10px、左右20px、下30px |
| margin: 10px 20px 30px 40px; | 4つ | 上・右・下・左 の順に適用される | 上10px、右20px、下30px、左40px |
また、個別に方向を指定して余白を設定することもできます
| プロパティ | 説明 | 例 |
|---|---|---|
| margin-top padding-top | 上方向の余白 | margin-top: 1em; |
| margin-right padding-right | 右方向の余白 | padding-right: 16px; |
| margin-bottom padding-bottom | 下方向の余白 | margin-bottom: 20px; |
| margin-left padding-left | 左方向の余白 | padding-left: 1rem; |
CSSでは、値の個数に応じて自動的に方向が割り当てられるため、ショートハンドを使うと効率よくスタイルを記述できます。ただし、わかりにくい時は個別指定(margin-top など)を使ってもOKです。
補足:リセットCSSとは?
ブラウザには最初から「標準スタイル」(ユーザーエージェントスタイルシート)が適用されています。たとえば、段落(<p>)には上下に余白があり、<ul> には左のインデントがあります。
しかし、デザインをCSSで自由にコントロールしたい時、この「標準スタイル」が邪魔になることがあります。
そこで使うのが リセットCSS や ノーマライズCSS です。ただし今回は「簡易リセット」を使います。
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
これは「全ての要素に対して、marginとpaddingを0に」「box-sizingを border-box にする」指定です。
これにより、余白のズレを防ぎ、レイアウトが崩れにくくなるというメリットがあります。
またリセットCSSについては以下のような選択肢もあります
どちらも「どのようにリセット・整えるか」の方針が異なりますので、プロジェクトに応じて選びましょう。
スタイルの指定内容
<body>に指定するスタイル- フォントサイズ:
16px - 行間:
1.8 - 書体(font-family):Googleフォントを使用 >> ここをクリックするとKosugi Maruページが開きます
- 背景色
#f5f5f5 - 内側余白 20px
- フォントサイズ:
<h1>に指定するスタイル- 文字色:任意
- 内側余白: 0.5文字分
- 背景色:任意
<h2>に指定するスタイル- 文字色:任意
- 下余白: 0.5文字分
<h3>に指定するスタイル- 文字色:任意
- 下余白: 0.5文字分
<p>に指定するスタイル- 文字色:任意
- 下余白: 2文字分
解答例(CSS)
/* --- リセットCSS(全体に共通) --- */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* --- 本文全体のスタイル設定 --- */
body {
font-size: 16px;
line-height: 1.8;
font-family: "Kosugi Maru", sans-serif;
font-weight: 400;
font-style: normal;
background-color: #f5f5f5;
padding: 20px;
/* margin: 0; */
}
/* --- 見出し(h1) --- */
h1 {
color: #004080;
margin-bottom: 1em;
background-color: #f0f0b3;
padding: 0.5rem;
}
/* --- 見出し(h2) --- */
h2 {
color: #006600;
margin-bottom: 0.5em;
}
h3 {
color: #004080;
margin-bottom: 0.5em;
}
/* --- 段落 --- */
p {
color: #444444;
margin-bottom: 2em;
}
完成イメージ


