CSS革命CSS1の勧告から30年。
CSSはただの装飾から、
思考する生命体へと変貌。

css_revolutionのイメージ画像
Toplabo
CSS Revolution

アニメーション関連から、IF文のような論理演算、JSが必須だった複雑な処理のネイティブ化等々。
今、CSSはしずかに革命を進めている。

 | 2026/03/30

はじ
めに

CSSにもついにAI搭載か

  • 最近のCSSは何かが違う

    この1~2年、CSSの進化がめざましく、なんか革命でも起きてんの?と感じる毎日です。(まあ、ChatGPT以降がほぼ革命といってもいいんですが)
    それは疑似セレクタのhas()を調べてて、『あれ!今までのCSSと違う』っと感じたことが発端です。
    この気になるCSS、厳密にはCSS Selectors Level 4 仕様以降のCSS、いわゆるモダンCSSということなんだけど…。
    何が違うって、子要素の状態変化や種類に応じて親要素のスタイルを随時変更可能、つまり設定された要素が周囲の状況を自分で判断し、自律的に振る舞うようになっています。
    (そもそも子要素が親要素を制御できる事がもはや革命なんですが。)
    平たく言えばCSSのIF文。AIは大げさでも、ロジックを持った、考え始めたといっても言い過ぎじゃないです。
    で、よく調べてみると他にもたくさんのセレクタ、プロパティやアットルールがあることがわかりました。今回はそれらをご紹介します。

体系的
区分け

気になるCSSをカテゴリーに分けて体系的に調べてみよう。

  • 大まかにロジック、レスポンシブ、詳細度制御、ネイティブ化、レイアウト支援の5つに整理できます。

    新しいCSSは範囲が広く、そのまま追うと混乱します。まずは役割別に整理すると、構造が見えてきます。
    以下より5つに区分けした項目をひとつづつ、解説します。

  • 1.まずはこれ、ロジックを持ち始めたCSSの一覧

    たとえば疑似クラスのhas()は、CSSのIF文。『もしも子要素に小見出しがあるならマージンを小さく!』というような条件分岐が可能です。フォーム入力支援や状態判定なども含め、CSSは明確に“考える領域”へ踏み込んでいます。
    ※ ロジック(処理の内容や手順、論理的な構造)

  • 2.レスポンシブ支援 線から面へ

    これまでレスポンシブとは大きい画面のPCと小さい画面のスマホを区分けするための考え方でした。しかし、近年は折り畳みスマホやピクセル解像度の進化でPCとの区別がつかなくなり、PC=大きい画像、スマホ=小さい画像という観念が崩れ去りました。現在、画面横幅の違いだけではレスポンシブの設計は困難になっています。
    そのためCSSは、画面のアスペクト比という環境そのものを捉える設計へと進化しています。

  • 3.CSSの詳細度を制御し始めた

    詳細度というのはあまり馴染みのない言葉ですが、CSSのスタイルの優先順位のことです。その領域にも新たに切り込んできたのが:where()、:is()などの疑似クラスです。特に:where()はもっとも地味な存在にみえて、これこそが革命と呼ぶにふさわしい存在です。
    これまでのセレクタの長い積み重ねの呪縛から解放してくれる魔法の呪文です。

  • 4.あと、ネイティブ化

    フォーム入力関連は昔からある:checked + labelをはじめ:disabled、:valid / :invalidなど、JSが必須だったバリデーションがCSSだけで完結。さらに:focus-visibleや:placeholder-shownなど。
    さらに、デザイン面においても、color-mix(), color-schemeなどの登場により、これまで手作業やJSが必須だった作業がCSSだけで完結、いわゆるネイティブ化が進んだといえます。

  • 5.最後にレイアウト支援 主にグリッド関連

    もともとグリッドはそれまでの(flex系など)線で制御していたレイアウトを面に進化させた画期的な機能でしたが、さらに設計しやすく進化しました。また、自動でコラムを生成するcolumns, writing-modeなど、もはやプロパティというよりエンジンと呼べるようなものまで登場してます。

  • ブラウザの判定も新しい

    新しい機能にはブラウザが対応していないことも多いです。その判定を機能で選別できるように登場した@supportsも、自然の流れなんでしょう。

WEBの
進化

進化はCSSだけではない

  • ひっそりと、実はhtml(ブラウザ)までもが進化していた。

    また、進化しているのはCSSだけではないです。jsはもちろん、htmlまでもが次元違いの進化をしています。
    例えばデバイス別に画像のアスペクト比が違う場合など、これまでは別途デバイスを選別する専用プログラムが必要でした。
    それが現在はそれらを全てブラウザが(HTMLの正しい記述で)やってくれます。
    面倒な作業は全部ブラウザが受け持つ次元にまでブラウザ自体も進化しているわけです。

  • 勘違いしてはいけないのは、CSSとJSは競い合ってるのではありません。

    これらとCSSを組み合わせることで、これまでJSなどを何段階にも分けて組みこんで実現していたことが非常に簡単に実装可能になってきました。
    さらにいうと、このCSSの進化を見ると、もはやJSは不要とまで勘違いしてしまいそうだけど、そうではなくJSと密接に連携させることでこれまで以上に密度の高い機能、処理が少ない手数で可能になります。JS自体も高度に進化していますので、連携させるとさらに効率の良い快適なユーザビリティが実現します。

次回
予告

次回より個別に詳しく解説

  • まずは地味なのに革命!の:where()から

    CSSの体系的な区分の後は個別の解説へと進めます。
    その第一弾として、ロジックを持った:has()ではなく、まさかの:where()から
    では、こうご期待。

『CSS革命』関連のお薦め

このサイトで紹介しているコード、プログラムなどは個人の学習目的で作成されたものであり、いかなる保証も行いません。
利用はすべて自己責任でお願いします。
ただし、このページで紹介しているプログラムやビジュアルなどはご依頼いただければ実装を賜ります。
お問い合わせはこちら