CSSの最新トレンドにおける現状のまとめ、よく使用する新機能やプロパティや疑似クラス、人気のフレームワークや検証ブラウザなど

CSSの進化は速く、ここ1,2年はさらに速くなりましたね。その要因の一つがIEのサポート終了で、現在はエバーグリーンのブラウザ(自動で最新版にアップデートするブラウザ)となり、モダンCSSの機能がたくさん使用できるようになりました。

2023年、CSSの現状調査をおこなった結果をまとめた「State of CSS 2023」を紹介します。今年は例年より早いですね。

CSSの最新トレンドにおける現状のまとめ、よく使用する新機能やプロパティや疑似クラス、人気のフレームワークや検証ブラウザなど

State of CSS 2023

State of CSS 2023は、State of CSSでおこなわれたアンケートの調査結果(9,190人分)をまとめたものです。

まずは、アンケートに回答された人の属性。
世界中の人がアンケートに参加しており、日本人も参加しています。年齢は25-44才が多く、性別は男性が多めです。

サイトのキャプチャ

経験年数

アンケートに回答された人のCSSの経験年数は11-20年がもっとも多く、6-10年、3-5年と続きます。

CSSの機能について、見てましょう。

サイトのキャプチャ

論理プロパティ

まずは、レイアウト関連の機能。論理プロパティとは、lefttopなどの物理的な値ではなく、HTMLドキュメントの方向に依存するプロパティです。たとえば、margin-leftmargin-startになります。

2023年現在、すべてのブラウザにサポートされています。
論理プロパティのサポートブラウザ

サイトのキャプチャ

コンテナクエリ

コンテナクエリは、今までのメディアクエリのスクリーンベースではなく、親コンテナをベースにして子要素のスタイルを定義できるコンテナクエリです。

2023年現在、すべてのブラウザにサポートされています。
コンテナクエリのサポートブラウザ

サイトのキャプチャ

small, large, dynamic ビューポート単位

ビューポートの新しい単位のおかげで「iOSのSafariで100vh」における問題を簡単に解決できます。ここ1年でブラウザのサポートも良好になったので、使用する機会も増えてきています。

2023年現在、すべてのブラウザにサポートされています。
small, large, dynamic ビューポート単位のサポートブラウザ

サイトのキャプチャ

メディアクエリの範囲指定

これを待ち望んでいた人も多いと思います。ついに、メディアクエリで比較演算子(>=, <=)を使用できるようになりました。

2023年現在、すべてのブラウザにサポートされています。
メディアクエリの範囲指定のサポートブラウザ

サイトのキャプチャ

accent-colorプロパティ

accent-colorプロパティは、たった1行のCSSでフォームの複数の要素に強調色を設定できます。

2023年現在、すべてのブラウザにサポートされています。
accent-colorプロパティのサポートブラウザ

サイトのキャプチャ

scroll-snapプロパティ

scroll-snapプロパティを使用すると、ユーザーがスクロールを終了した後にビューポートを特定の要素または場所にスナップさせることができます。

2023年現在、すべてのブラウザにサポートされています。
scroll-snapプロパティのサポートブラウザ

サイトのキャプチャ

line-clampプロパティ

line-clampプロパティは、テキストを指定した行数で省略します。

2023年現在、すべてのブラウザにサポートされています。
line-clampプロパティのサポートブラウザ

サイトのキャプチャ

prefers-reduced-motion

prefers-reduced-motion@mediaで使用するクエリで、ブラウザやOSの動きの抑制に関する設定に対応します。アニメーションのような機能は視覚障害者にとって動きの違和感を引き起こしたり、過度に気を散らせたりする可能性があるため、アクセシビリティに不可欠です。

2023年現在、すべてのブラウザにサポートされています。
prefers-reduced-motionのサポートブラウザ

サイトのキャプチャ

CSSの比較関数

CSSの比較関数とは、最大幅や最小幅を計算式で定義できる「min()」「max()」、フォントサイズの最小値と最大値をコの字のクランプのように計算式で定義できる「clamp()」、Webページやスマホアプリの実装にすでに使用している人も多いと思います。

2023年現在、すべてのブラウザにサポートされています。
min(), max(), clamp()のサポートブラウザ

サイトのキャプチャ

:has()疑似クラス

:has()疑似クラスは、パラメータとして渡されたセレクタのいずれかが少なくとも一つの要素に一致する場合に、その要素を表します。簡単に言うと、今までセレクタは子や孫を設定できましたが、:has()疑似クラスは親を設定できます。

2023年現在、Firefoxを除くすべてのブラウザにサポートされています。
:has()疑似クラスのサポートブラウザ

サイトのキャプチャ

:where()疑似クラス

:where()疑似クラスは、詳細度を0にします。特に、スタイルを上書きする時に役立ちます。

2023年現在、すべてのブラウザにサポートされています。
:where()疑似クラスのサポートブラウザ

サイトのキャプチャ

三角関数

ついに、CSSで三角関数が主要ブラウザのすべてで使用できるようになりました。CSSで使用できる三角関数は、sin(), cos(), tan(), asin(), acos(), atan(), atan2()です。複雑なアニメーションに使用するJavaScriptを減らしたり、要素を曲線に配置するレイアウトなどもCSSで実装できます。

2023年現在、すべてのブラウザにサポートされています。
sin()のサポートブラウザ

サイトのキャプチャ

CSSのネスト

SassなどのCSSプリプロセッサの機能の1つであるスタイルルールのネスト(入れ子)が言語として組み込まれました。CSSのネストはそれらとは仕様が少し異なりますが、ネストが使用できるようになるのは嬉しいことですね。

2023年現在、Firefoxを除くすべてのブラウザにサポートされています。
※Firefox 117からサポート予定。
CSSのネストのサポートブラウザ

サイトのキャプチャ

CSSのフレームワークに対して、肯定的か否定的か

レッドは否定的(興味がない・もう使わない)で、ブルーが肯定的(興味がある・また使いたい)です。Twilwind CSSの人気が引き続き高い中、Open Propsがここ1年で伸びてきました。Bootstrap, Bulma, Foundationなどのフレームワークは人気に陰りが見えてきました。

サイトのキャプチャ

CSS in JSに対して、肯定的か否定的か

レッドは否定的で、ブルーが肯定的です。2022年と比較すると伸びがなくなりましたが、CSS Modules, Styled Componentsが注目されています。

サイトのキャプチャ

使用しているユーティリティ

ユーティリティで使用されているのは、Prettierが頭一つ抜けています。

サイトのキャプチャ

制作時に使用するブラウザ

制作時に使用するブラウザは、Chromeがもっとも多く、続いてFirefox, Edgeとなっています。スマホ環境だと、Safari iOSがもっとも多いです。

サイトのキャプチャ

どんなデバイスでテストしているか

テストしているデバイスは、デスクトップ、スマホ、タブレットの順になっています。キーボード操作での確認、スクリーンリーダーでの確認、色覚障害の確認なども増えてきました。

サイトのキャプチャ

ブラウザのサポートが十分でないため、使用できないCSSの機能

すべてのブラウザにサポートされていないCSSの機能が上位ですね。また、ブラウザ的にはSafariへの対応がネックになっているようです。

最後に、2023年にもっとも目立ったものを。

サイトのキャプチャ

Awards

前年比で使用実績がもっとも増えた機能は:has()、リピートユーザーの割合がもっとも高いテクノロジーはOpen Props、もっとも多くのコメントがあった機能はsubgrid、もっとも多くの書き込み回答があった機能はPanda、でした。

Open Propsは当ブログでも話題になりました。

CSS変数を使用したCSSフレームワーク -Open Props

これまでとは異なるCSSフレームワークが登場! 一貫性のあるUIコンポーネントを簡単に実装できる -Open Props

sponsors

top of page

©2024 coliss