CSS2とCSS3の違いとは?初心者にもわかりやすく解説

CSSはウェブデザインの必須スキルですが、CSS2とCSS3の違いを理解していないと「どの機能が使えるのか?」で迷うことがあります。この記事では、CSS2とCSS3の違いをわかりやすく解説します。

1 仕様構造の違い

CSS2は単一の仕様書で定義されており、レイアウト・フォント・色・テーブル・メディアタイプなどが含まれます。

CSS3はモジュール化されており、機能ごとに独立した仕様として開発・標準化されています。例として、CSS3 SelectorsCSS3 TransitionsCSS3 Flexboxなどがあります。

モジュール化により、ブラウザは一部のCSS3機能だけを先行実装できるようになりました。

2 新しいセレクタ

CSS3では、より柔軟なセレクタが追加されました。

種類 説明
属性セレクタ [type="text"] 属性値で要素を選択
擬似クラス :nth-child(2n) 特定の順序の子要素を選択
擬似要素 ::before, ::after 要素の前後にコンテンツを生成

CSS2のセレクタは、基本的に要素・クラス・ID・子孫などの簡単なものしか使えません。

3 レイアウト機能の拡張

CSS3では、新しいレイアウト方法が導入されました。

  • Flexbox → 要素の並べ方・配置が簡単
  • Grid → 2次元レイアウトの制御
  • Media Queries → レスポンシブデザイン対応

CSS2では、主に floatposition に頼るレイアウトしかできませんでした。

4 スタイル表現の強化

CSS3では、デザイン表現が大幅に進化しています。

機能 CSS3 CSS2
ボーダー border-radius(角丸) なし
背景 linear-gradient, radial-gradient 単色、画像のみ
シャドウ box-shadow, text-shadow なし
トランジション・アニメーション transition, animation なし

5 フォント・テキスト機能

  • CSS2 → フォントサイズ・スタイル・ファミリの基本指定のみ
  • CSS3 → Webフォント(@font-face)や文字の装飾(text-shadowword-wrapなど)が追加

6 互換性

CSS3はCSS2を包含しているため、CSS2のコードはそのまま使えます。ただし、CSS3の新しい機能(例: flexbox)は古いブラウザでは未対応のことがあります。

7 CSS3の便利なデモコード

ここでは、CSS3の代表的な機能を実際に試せるサンプルを紹介します。コピーしてそのままHTMLに貼り付けて動作を確認できます。

7.1 角丸・背景グラデーション・シャドウ

CSS3の代表的なデザイン機能の一つ、角丸とグラデーション、シャドウを組み合わせた例です。

CSS3 Demo

<div class="demo-box">CSS3 Demo</div>

/* --------------------------------
 * 角丸・背景グラデーション・シャドウ
------------------------------- */

.demo-box {
  width: 200px;
  height: 100px;
  line-height: 100px;
  text-align: center;
  color: white;
  background: linear-gradient(to right, #4facfe, #00f2fe);
  border-radius: 15px;
  box-shadow: 3px 3px 10px rgba(0,0,0,0.3);
}

7.2 マウスオーバー時のトランジション

マウスを乗せたときにスムーズに色やサイズが変化します。

Hover me!

<div class="hover-box">Hover me!</div>

/* --------------------------------
 * マウスオーバー時のトランジション
------------------------------- */

.hover-box {
  width: 150px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background-color: #ff7e5f;
  color: white;
  border-radius: 8px;
  transition: background-color 0.5s ease, transform 0.3s ease;
}
.hover-box:hover {
  background-color: #feb47b;
  transform: scale(1.1);
}

7.3 Flexboxによる中央揃え

Flexboxを使うと、縦横ともに簡単に中央揃えができます。

1
2
3

<div class="flex-container">
  <div class="flex-item">1→</div>
  <div class="flex-item">2→</div>
  <div class="flex-item">>3→</div>
</div>

/* --------------------------------
 * Flexboxによる中央揃え
------------------------------- */

.flex-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  height: 100px;
  background-color: #eee;
}
.flex-item {
  background-color: #4facfe;
  color: white;
  padding: 10px 20px;
  border-radius: 5px;
}

8 まとめ

  • CSS2 → 基本的なスタイル指定とレイアウト
  • CSS3 → モジュール化された拡張仕様。アニメーション・グラデーション・角丸・高度なセレクタ・レスポンシブ対応など多彩な表現が可能

今回紹介したデモコードは、CSS3を実際に試すための基本例です。ぜひコピーしてブラウザで動作を確認してみてください。