1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【手で書いて覚える個人開発 #06】CSS 入門:色・文字・余白

1
Last updated at Posted at 2026-11-05

この記事は、プログラミングをまったく知らない人が「AI に頼らず、自分の手でアプリやサイトを作れる」ようになるための連載(全85本)の第6回です。毎日1本ずつ公開します。

前の回: #05 HTML のフォームと意味のあるタグ

この記事でできるようになること

HTML で作ったページに CSS を足して、色・文字・余白で見た目を整えられるようになります。

説明

HTML は「中身」、CSS は「見た目」

今までに書いた HTML は、ページの中身と構造だけを決めていました。だから見た目は白い背景に黒い文字の、そっけない状態です。

家にたとえると、HTML は柱や壁(骨組み)、CSS は壁紙・家具の配置・照明です。骨組みは同じでも、CSS を変えれば別の家に見えます。

CSS の書き方は「だれに・何を・どうする」

CSS は次の形のかたまり(これをルールと呼びます)を並べて書きます。

h1 {
  color: red;
  font-size: 28px;
}
部分 呼び方 意味
h1 セレクタ だれに(どのタグに)効かせるか
color / font-size プロパティ 何を変えるか
red / 28px 値 どうするか
{ } ブロック ルールの範囲

プロパティと値の間は :、1行の終わりは ; です。この ; はとても大事で、あとの「よくあるエラー」で実際に壊してみます。

HTML と CSS をつなぐ

CSS は別のファイル(たとえば style.css)に書いて、HTML の <head> の中から読みこむのが基本です。

<link rel="stylesheet" href="style.css">

href には CSS ファイルの場所を書きます。HTML と同じフォルダにあるなら、ファイル名だけで通じます。

今日使うプロパティ

プロパティ 効果 値の例
color 文字の色 red / #222222
background-color 背景の色 #f5f5f0
font-family 書体 sans-serif(ゴシック系)
font-size 文字の大きさ 16px
line-height 行の高さ(行間) 1.8(文字の大きさの1.8倍)
text-align 文字のそろえ方 center
padding 内側の余白 24px
margin 外側の余白 0
border 枠線 2px solid #c0392b

色の書き方にはいくつか種類があります。この連載では、はじめに覚える2つを使います。red のような名前と、#c0392b のようなカラーコードです。カラーコードは # のあとに6桁(0〜9 と a〜f)が続き、赤・緑・青の強さを表します。まずは名前で十分ですが、細かい色が欲しくなったらカラーコードを使います。

実は、ほかにも書き方があります。

  • カラーコードの桁数: 6桁のほかに、3桁(#f09 は #ff0099 と同じ)、4桁・8桁(最後に透明度が付く)があります。
  • 関数の書き方: rgb(255 0 153)、hsl(150 30% 60%) のように、関数で指定する方法もあります(oklch() など新しいものもあります)。
  • キーワード: currentColor(その要素の文字色)や transparent(透明)などがあります。

全部を覚える必要はありません。「色の指定には種類がたくさんある」と知っておき、必要になったときに MDN の <color> や <hex-color> を引いてください。

(コメントでご指摘をいただき、「2つ」という書き方を直して、この説明を足しました。)

余白は「額縁」で考える

padding と margin はよく混ざります。絵を額に入れた様子で覚えましょう。

場所 額縁でいうと CSS
絵と枠線のすき間 台紙 padding(枠の内側)
枠線そのもの 額の縁 border
額と隣の額のすき間 壁の余白 margin(枠の外側)

背景色は、padding の部分までぬられます。margin はいつも透明です。

手を動かす

コピーせず、自分で打ってください。

1. 準備

html-practice フォルダを VS Code で開きます。新しく style.css と index.html を作ります(前回までのファイルと名前が重なるときは、css-practice フォルダを作ってその中で進めてください)。

2. HTML を打つ

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>CSS の練習</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <header>
    <h1>OTOMO ふうの投稿フォーム</h1>
  </header>
  <main>
    <p>今日は<strong>色・文字・余白</strong>を整えます。</p>
    <p class="note">この段落だけ、目立たせます。</p>
    <a href="#">投稿する</a>
  </main>
  <footer>
    <p>手で書いて覚える個人開発</p>
  </footer>
</body>
</html>

class="note" は、タグに自分で決めた名前札をつける属性です。同じ <p> の中でも、この1つだけに別の見た目を当てたいときに使います。

3. style.css を打つ

body {
  background-color: #f5f5f0;
  color: #222222;
  font-family: sans-serif;
  font-size: 16px;
  line-height: 1.8;
  margin: 0;
}

header {
  background-color: #1a1a2e;
  color: white;
  padding: 24px;
}

h1 {
  margin: 0;
  font-size: 28px;
}

main {
  padding: 24px;
}

.note {
  color: #c0392b;
  border: 2px solid #c0392b;
  padding: 12px;
}

a {
  color: #0b5fff;
}

footer {
  text-align: center;
  padding: 16px;
  font-size: 14px;
}

見てほしい所が3つあります。

  • body に書いた color や font-family は、中の文字にも引き継がれます(body の中の見出しや段落が、何も書かなくても同じ書体になるのはこのためです)
  • .note の .(ドット) は「class が note のもの」という意味のセレクタです。ドットがないと note というタグを探してしまいます
  • margin: 0 は、ブラウザが最初から入れている外側の余白を消しています

4. ブラウザで開く

open index.html

濃紺の帯の中に白い見出し、薄いクリーム色の背景、赤い枠で囲まれた段落、青いリンクが出れば成功です。

5. 数字を変えて遊ぶ

.note の padding: 12px を 40px に変えて保存し、ブラウザを再読み込み(Mac は Command + R)してみてください。赤い枠の中の余白が広がります。次に padding を margin に変えると、今度は枠の外側が広がります。内側と外側の違いを目で確かめましょう。

練習問題

答えを見ずに解いてみてください。

  1. h1 の文字を中央にそろえてください。
  2. footer の背景色を #1a1a2e、文字色を white にしてください。
  3. class="note" を、「ひとこと」の段落だけでなく、もう1つ別の <p> にも付けて、同じ見た目になることを確かめてください。

よくあるエラーと直し方

CSS も、間違えてエラーメッセージを出しません。「効いていない」だけで気づきにくいので、原因を知っておくと早く直せます。

;(セミコロン)を忘れた

color: #222222; の ; を消して保存してみます。実際にやってみると、この行だけでなく次の行の font-family まで効かなくなります(文字は黒に戻り、書体も指定したゴシックではなくブラウザの初期の書体になりました)。ブラウザが、; がないために次の行までを1つの値として読んでしまうからです。「1行だけでなく、その下の行も効かない」ときは、一番上の行の末尾の ; を疑います。

.(ドット)を忘れた

.note を note と書くと、note というタグを探すので何にも効きません。実際に枠線の太さを調べると 0px(なし)のままでした。クラスの名前札を当てたいときは、必ず . をつけます。

保存したのに変わらない

次の3つを順に確認します。

  1. VS Code で保存した(Command + S)
  2. ブラウザを再読み込みした
  3. HTML の <link rel="stylesheet" href="style.css"> のファイル名が、実際のファイル名と一字も違わない(styles.css と style.css のような違いに注意)

色の名前を書き間違えた

colour や bakground-color のようにプロパティの綴りが違うと、その行は無視されます。プロパティは英語のスペルの通りに書きます。

答え

1.

h1 {
  margin: 0;
  font-size: 28px;
  text-align: center;
}

既に h1 のルールがあるので、その中に text-align: center; の1行を足します。同じセレクタを2回書くと読みにくくなるので、まとめる方が見やすいです。

2.

footer {
  background-color: #1a1a2e;
  color: white;
  text-align: center;
  padding: 16px;
  font-size: 14px;
}

3. HTML 側に class="note" を足します。

<p class="note">もう1つの段落も、同じ見た目になります。</p>

CSS は1回書くだけで、class="note" をつけたタグすべてに効きます。これが「ルール」で見た目をまとめて決める CSS の強みです。

次回予告

次回は「#07 CSS のレイアウト:Flexbox と Grid」です。ここまでは上から下へ並ぶだけでしたが、次回は横に並べたり、カードを格子状に並べたりします。

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?