Webサイトは何でできているのか――答えは意外なほどシンプルで、HTMLとCSS(+JavaScript)というたった3つの言語が世界中のWebページの土台です。
この記事では、Web制作の第一歩として、HTMLとCSSの役割・基本の書き方・今日から始める練習方法を解説します。プログラミング未経験でも大丈夫。この2つは「プログラミング言語」というより「文書の書き方のルール」に近い、入門に最適な題材です。
役割分担:家づくりに例える

HTMLが柱と間取り(構造)、CSSが内装と外壁(見た目)、JavaScriptが電気設備(動き)。まずHTMLとCSSの2つを覚えれば、静的なWebページは自由に作れるようになります。JavaScriptは その次のステップで構いません。
HTMLの基本:タグで意味づけする
HTMLは、文章を<タグ>で囲んで「これは見出し」「これは段落」と意味づけしていく言語です。
<h1>〜<h6>:見出し(h1が最上位)<p>:段落<a href="URL">:リンク<img src="画像" alt="説明">:画像<ul><li>:箇条書き
重要なのは、タグは「見た目」ではなく「意味」を表すということ。見出しをh1にするのは大きく表示するためではなく、「これがこのページの主題だ」と検索エンジンや読み上げソフトに伝えるためです。実はこれがSEOの土台でもあります(SEO基本の記事参照)。
CSSの基本:選んで、飾る

CSSは「どこを(セレクタ)、どう飾るか(プロパティ)」を並べていく言語です。h1 { color: blue; }なら「h1見出しを青色に」という意味。よく使うプロパティはひと握りです。
color/background-color:文字色・背景色font-size/font-weight:文字の大きさ・太さmargin/padding:外側・内側の余白display: flex:横並びレイアウトの主役
今日から始める練習方法
- メモ帳でもOK、できればVS Code(無料)を用意(エディタの設定は別記事で解説予定)
- 「index.html」を作り、図のコードを手打ちする(コピペではなく手打ちが上達の近道)
- ブラウザにファイルをドラッグして表示→CSSを書き換えて再読み込み→変化を見る、を繰り返す
- 自己紹介ページを1枚作ってみる:見出し・写真・好きなものリスト・リンク。これだけで主要タグを一通り使えます
学習サイトのブラウザ演習も便利ですが、「自分のファイルをブラウザで開く」体験がWeb制作の実感を作ります。ぜひローカルで試してください。
WordPressとの関係
「WordPressがあるならHTML/CSS不要では?」と思うかもしれません。実際は逆で、HTMLとCSSがわかるとWordPressの自由度が跳ね上がります。装飾の微調整、テーマのカスタマイズ、表示崩れの自力解決――ブログ運営者にとって最も費用対効果の高い基礎教養です。
よくある質問
Q. HTMLとCSSはプログラミング言語ですか?
A. 厳密には「マークアップ言語」と「スタイルシート言語」で、条件分岐や計算は行いません。だからこそ挫折しにくく、Web系プログラミング(JavaScript)への最高の助走になります。
Q. どのくらいで身につきますか?
A. 基本タグとCSSの主要プロパティは、毎日30分の練習で2〜4週間もあれば「簡単なページを自作できる」レベルに到達します。完璧な暗記は不要で、調べながら書くのが実務でも普通です。
Q. 次は何を学べばいいですか?
A. ①CSSレイアウト(flex/grid)を深める→②JavaScriptで動きをつける→③WordPressテーマの構造を覗く、が定番ルートです。全体像はプログラミング独学ロードマップをご覧ください。
開発者ツールを開けば、答えは画面の中にある
HTMLとCSSの学習でいちばん効率がいいのは、教材を読むことではなく、実際のサイトの中身を見ることです。ブラウザに標準で入っている開発者ツールで、今見ているページの構造をそのまま読めます。
開き方はF12、または右クリックから「検証」。使うのは3つの機能だけです。
| 機能 | できること | 学習での使い方 |
|---|---|---|
| 要素の選択 | クリックした部分のHTMLが光る | 「このボタンはどう書かれているか」が一瞬で分かる |
| スタイルの表示 | その要素に効いているCSSが一覧で出る | どのプロパティで、その見た目になっているかを逆算できる |
| その場で書き換える | 値を変えると画面が即座に変わる | 壊しても、再読み込みすれば元通り。安全な実験場になる |
いちばん効く練習法。好きなサイトを開いて開発者ツールで色や余白を書き換え、「なぜこの値なのか」を考える。教科書の例より、実際に人が使っているサイトのほうが情報量が多く、記憶にも残ります。1日15分、これを1週間やるだけで、CSSの読み方がまったく変わります。
つまずきの9割は「ボックスモデル」で説明できる
「余白が思った通りにならない」「要素が横に並ばない」。初学者の悩みのほとんどは、要素が箱として扱われているという前提を知らないことから来ます。
すべての要素は、内側から順に4つの層でできています。
| 層 | 名前 | 意味 |
|---|---|---|
| 1(中心) | content | 文字や画像そのもの |
| 2 | padding | 内側の余白。背景色が付く |
| 3 | border | 枠線 |
| 4(外側) | margin | 外側の余白。背景色は付かない |
ここで最初に覚えるべき設定が1つあります。box-sizing: border-box; です。これを指定しないと、「幅300pxにしたのに、paddingを足したら320pxになった」という現象が起きます。指定すれば、paddingとborderを含めて300pxになります。
実務では、CSSの先頭に次の3行を書くのが定番です。これだけで、レイアウトの事故が大幅に減ります。
| 記述 | 効果 |
|---|---|
*, *::before, *::after { box-sizing: border-box; } | すべての要素で、幅の計算を分かりやすくする |
img { max-width: 100%; height: auto; } | 画像が親要素からはみ出さなくなる |
body { margin: 0; } | ブラウザ既定の余白を消す |
並べ方は、Flexboxを1つ覚えれば足りる
要素を横に並べる方法は歴史的にいくつもありますが、現在はFlexboxだけ覚えれば、初学者が必要とする配置はほぼ実現できます。floatやtableを使ったレイアウトは、もう学ぶ必要がありません。
| やりたいこと | 書き方 |
|---|---|
| 横に並べる | 親要素に display: flex; |
| 間隔を空ける | gap: 16px; |
| 左右の端に寄せる | justify-content: space-between; |
| 中央に寄せる(横方向) | justify-content: center; |
| 高さを揃えて中央に(縦方向) | align-items: center; |
| 画面が狭いときに折り返す | flex-wrap: wrap; |
この6つで、ヘッダーのロゴとメニューの配置、カードの横並び、ボタンとアイコンの中央揃えといった、実際に必要になる場面の大半が書けます。格子状に並べたくなったときに、初めてGridを学べば十分です。
スマホ対応は、2行から始められる
レスポンシブ対応は難しそうに見えますが、最初にやることは2つだけです。
| やること | 書く場所 | 効果 |
|---|---|---|
| viewportの指定 | HTMLのhead内(meta name="viewport") | これがないと、スマホでPC版が縮小表示される。最重要 |
| 画像の最大幅 | CSS(img { max-width: 100%; }) | 画像が画面からはみ出さなくなる |
そのうえで、画面幅によって見た目を変えたい場合にメディアクエリを使います。ただし、Flexboxのflex-wrap: wrap;とgapを使っていれば、メディアクエリなしでもある程度は自然に折り返してくれます。いきなり細かい分岐を書くより、まずは折り返しで対応できる範囲を探すほうが、コードが単純に保てます。
確認は、開発者ツールのデバイス表示切り替え(スマホのアイコン)で行えます。実機がなくても、幅を変えながら崩れを確認できます。
学ぶ順番と、飛ばしていいもの
HTMLとCSSは範囲が広いので、優先順位が重要です。
| 優先 | 項目 | 理由 |
|---|---|---|
| 先にやる | 見出し・段落・リンク・画像・リストのタグ | これだけで文書は作れる |
| 先にやる | クラスの付け方と、CSSでの選び方 | すべての基礎 |
| 先にやる | ボックスモデルとFlexbox | レイアウトの9割 |
| あとでよい | Grid | 格子状の配置が必要になってから |
| あとでよい | アニメーション | 装飾。動くものは最後 |
| 飛ばしてよい | floatによるレイアウト | 現在は使わない手法 |
| 飛ばしてよい | タグの完全な暗記 | 必要になったときに調べれば足りる |
| 飛ばしてよい | CSSフレームワークから始める | 素のCSSを知らないまま使うと、崩れたときに直せない |
次に進むなら、動きを付けるJavaScriptか、サイトを公開する側の知識です。学習全体の道筋はプログラミング独学ロードマップに、詰まったときの調べ方はエラーが解決できないときの調べ方にまとめています。
この記事で使える無料ツール
- 色のコントラスト比チェッカー — 文字色と背景色が読める組み合わせか判定する
- 文字数カウント — 原稿の分量を測る
学習を続けるうえでは、先に「何ができたら達成か」を決めておくと迷いません。決め方はプログラミング独学の目標の立て方にまとめています。
CSSで色を指定するとき、HEXとRGBとHSLの相互変換や、文字が読めるかのコントラスト比の確認には色コード変換が使えます。コード例をページに載せる際の変換はHTMLエスケープです。
最初に作ると身につくもの
文法を覚えるより、小さいものを1つ完成させるほうが定着します。
| 作るもの | 使う知識 | 完成までの目安 |
|---|---|---|
| 自己紹介ページ | 見出し、段落、画像、リンク | 2〜4時間 |
| 1枚もののお店ページ | 上記+レイアウト、地図の埋め込み | 5〜10時間 |
| スマホでも崩れない対応 | 画面幅による切り替え | 3〜5時間 |
| 問い合わせフォームの見た目 | 入力欄の装飾 | 2〜3時間 |
| 公開する | ファイルの配置、独自ドメイン | 2〜4時間 |
「公開する」まで含めて1周してください。手元で表示できることと、他人が見られる状態にすることの間には、意外と多くの学びがあります。
つまずいたときの調べ方
ブラウザの開発者ツール(F12キー)を早い段階で使えるようにしてください。要素を選ぶと、どのCSSが効いていて、どれが上書きされているかが色分けで見えます。「なぜか反映されない」の原因は、たいていここで分かります。
エラーの調べ方はエラーが解決できないときの調べ方にまとめています。
まとめ
HTMLは構造、CSSは見た目。たった2つのルールを覚えるだけで、Webページは自分の手で作れます。まずは自己紹介ページ1枚から。その小さな1歩が、Web制作・ブログカスタマイズ・プログラミングすべての入口になります。
この記事に関連する無料ツール
圧縮の匠(姉妹サイト)
画像・PDF・動画を、サーバーに送信せずブラウザ内だけで圧縮できます。登録不要・無料です。
この記事に出てくる用語
JavaScript/HTML/CSS/テーマ/ほか計117語をIT用語辞典で解説しています
