Webフロントエンド - 基礎

CSS3 しーえすえすすりー

スタイルシートセレクタアニメーションレスポンシブデザインフレックスボックスグリッドレイアウト
CSS3について教えて

簡単に言うとこんな感じ!

Webページの「見た目を整える言語」がCSSで、CSS3はその最新バージョンなんだ!文字の色・大きさ・レイアウトはもちろん、アニメーションや角丸ボタンも全部これで作れちゃうんだよ。「HTMLが骨格、CSS3がファッション」ってイメージが一番わかりやすいかも!


CSS3とは

CSS(Cascading Style Sheets) とは、Webページの見た目・デザインを定義するための言語です。HTMLが「このページにはタイトルがあって、画像があって、文章がある」という構造を記述するのに対し、CSSは「タイトルは赤い大文字で、画像は右寄せで、背景は薄いグレーで」といった見た目の指示を担当します。

CSS3 はそのCSSの第3世代の仕様群を指します。「1つの大きな仕様書」ではなく、モジュールと呼ばれる機能別の小さな仕様に分割されて策定されたのが大きな特徴です。角丸(border-radius)・影(box-shadow)・グラデーション・アニメーション・フレックスボックスレイアウト・グリッドレイアウトなど、現代のWebデザインに欠かせない機能の大半がCSS3で導入されました。

ビジネスの現場では、「スマホでも崩れないデザインにして」「ボタンにホバーアニメーションをつけて」といった要望を実現する土台がCSS3です。外注先やデザイナーと会話する際にも、CSS3がカバーする範囲を知っておくと発注の精度が上がります。


CSS3の主要モジュールと機能

CSS3は機能ごとにモジュールという単位で独立して仕様化されています。主要なものを整理すると次のとおりです。

モジュール名できること実務での使われ方
セレクタ Level 3要素の選び方を細かく指定「偶数行だけ色を変える」など
ボックスモデル余白・枠・サイズの制御レイアウトの基本
背景と境界線角丸・影・グラデーションカード型UIのデザイン
テキスト行間・文字間・省略表示読みやすい文章デザイン
フレックスボックス1次元の柔軟なレイアウトナビゲーション・カード並び
グリッドレイアウト2次元のマス目レイアウトページ全体の骨格
アニメーション動きのある表現ローディング・ホバー効果
トランジション状態変化の滑らかな補完ボタン色の変化など
メディアクエリ画面幅で表示を切り替えレスポンシブデザインの核心
カスタムプロパティ変数として色・値を管理デザインの一括変更

覚え方:「CSSはファッションコーディネーター」

HTMLが「人体(構造)」だとすれば、CSSは「服・アクセサリー・ヘアスタイル(見た目)」を担当するコーディネーターです。CSS3になって、「アニメーションするアクセサリー」や「画面サイズに合わせて着替える服」まで作れるようになったイメージです。

CSSの基本構文

/* セレクタ { プロパティ: 値; } という形で書く */

/* h1タグ(見出し)のスタイルを指定 */
h1 {
  color: #1e3a8a;        /* 文字色:ネイビー */
  font-size: 2rem;       /* 文字サイズ */
  border-radius: 8px;   /* 角を丸くする(CSS3で追加) */
  box-shadow: 0 4px 8px rgba(0,0,0,0.1); /* 影(CSS3で追加) */
}

/* 画面幅600px以下のスマホ向け(メディアクエリ:CSS3) */
@media (max-width: 600px) {
  h1 {
    font-size: 1.2rem;
  }
}

歴史と背景

  • 1994年 — Håkon Wium Lie(ホーコン・リー)がCSSのアイデアを提案。HTMLだけでは見た目の制御が難しかった
  • 1996年 — W3C(World Wide Web Consortium)が CSS Level 1 を勧告。色・フォント・余白の基本機能
  • 1998年CSS Level 2 勧告。位置指定(position)・z-index・メディアタイプなどが追加
  • 2000年代前半 — ブラウザ間の実装差異が激しく「IE対応地獄」と呼ばれる時代。CSSが仕様どおり動かないことも多かった
  • 2005年頃〜 — CSS3の各モジュールが段階的に策定開始。「一枚岩の仕様書」から「モジュール分割」へ方針転換
  • 2011年border-radiusbox-shadow@font-face などCSS3の主要機能がモダンブラウザで安定動作し始める
  • 2012年フレックスボックス の仕様が安定。レイアウト革命のはじまり
  • 2017年CSS グリッドレイアウト が主要ブラウザで一斉サポート。2次元レイアウトが劇的に楽になる
  • 現在 — 「CSS3」という表記は事実上「現代のCSS全体」を指す通称として使われており、W3C的には各モジュールがそれぞれ独立してバージョン管理されている

CSS3とHTMLの関係・他技術との比較

CSSはHTML・JavaScriptと並ぶWebの三本柱です。それぞれの役割を整理します。

HTML 構造・骨格 見出し <h1> 段落 <p> 画像 <img> ボタン <button> 「何があるか」 を定義する CSS3 見た目・スタイル color / font-size 文字色・サイズ flexbox / grid レイアウト animation / transition 動き・アニメーション @media レスポンシブ対応 「どう見せるか」 を定義する JavaScript 動作・ロジック クリック処理 データ取得・通信 条件分岐・計算 DOM操作 「どう動くか」 を定義する

CSS3 vs CSSフレームワーク(TailwindCSS・Bootstrap)

CSS3を直接書く代わりに、あらかじめスタイルが定義されたCSSフレームワークを使う手法も一般的です。

比較軸素のCSS3BootstrapTailwind CSS
学習コスト中〜高低〜中
カスタマイズ性最高低〜中
デザインの個性自由Bootstrapっぽくなりがち比較的自由
外注先での採用ほぼ必須の知識多い急増中
向いている用途独自デザイン重視管理画面・業務系モダンなSaaS系

関連する規格・RFC

規格・番号内容
W3C CSS Snapshot 2023CSS3各モジュールの現時点での勧告・草案状態をまとめた公式スナップショット
CSS Selectors Level 3CSS3セレクタの公式仕様(W3C勧告)
CSS Flexbox Level 1フレックスボックスレイアウトの公式仕様
CSS Grid Layout Level 1グリッドレイアウトの公式仕様
CSS Animations Level 1CSSアニメーションの公式仕様
Media Queries Level 4レスポンシブデザインの根幹、メディアクエリの仕様

関連用語

  • HTML5 — Webページの構造・骨格を記述するマークアップ言語。CSS3と常にセットで使う
  • JavaScript — Webページに動作・インタラクションを加えるプログラミング言語。Web三本柱の一角
  • レスポンシブデザイン — CSS3のメディアクエリを使い、PC・スマホ・タブレットで最適な表示に切り替える設計手法
  • フレックスボックス — CSS3で導入された1次元レイアウトモジュール。ナビゲーションや横並びレイアウトに多用
  • CSSグリッドレイアウト — CSS3で導入された2次元レイアウトモジュール。ページ全体の骨格設計に使う
  • Sass / SCSS — CSS3を効率よく書くための拡張言語(プリプロセッサ)。変数・入れ子・関数が使える
  • Bootstrap — CSS3をベースにした人気のCSSフレームワーク。定義済みのクラスを使うだけで整ったUIが作れる
  • W3C — CSS・HTMLなどWeb標準を策定する国際標準化団体