
このデザイン、CSSだけじゃ無理かも…
結局またJavaScriptで書かないといけないのか…
このような悩みを抱えた経験、ありませんか?
ポップアップの表示、スクロール連動アニメーション、状態に応じたデザイン変更など、Web制作の多くの場面でJavaScriptが必須とされてきました。
しかし、2025年以降のCSSは大きく進化しています。これまでJavaScriptに依存していた表現の多くが、CSSだけでシンプルかつ高速に実装できるようになってきたのです。
本記事では、2025年のWeb制作で注目のCSS新機能4選について、それぞれの使い方と活用例を解説します。
※本記事の内容は2025年6月19日時点のものです。本記事で紹介したツール・機能を利用する際には、必ず最新情報をご確認ください。

2025年のWeb制作で注目されるCSS新機能4選
2025年のWeb制作で注目すべきCSSの新機能は次の4つです。
- :has()の擬似クラス
- スクロールアニメーション
- View Transitions API
- anchor
1::has()の擬似クラス
従来のCSSでは、子要素に応じて親要素のスタイルを変更することができませんでした。
これを可能にするのが、:has()擬似クラスです。
・入力エラーがあるフォームだけ全体を強調したい
・子要素の状態に応じて、親要素の見た目を変えたい
従来はJavaScriptで条件を監視して、クラスを追加・削除していましたが、:has()を使えばCSSだけで条件分岐のスタイリングが可能です。
例1:画像を含むカードだけデザインを変える
画像を含むカードだけデザインを変更したい場合は、次のように表現します。
.card:has(img) {
border: 2px solid green;
}
この指定により、画像 <img> を含む .card 要素だけに枠線と背景色が付きます。
例2:エラーのあるフォームに強調スタイル
入力エラーのあるフォームに強調スタイルをつけたい場合は、次のように表現します。
.form-group:has(input:invalid) {
background-color: #ffe0e0;
border: 1px solid red;
}
たとえば、メールアドレス欄が空欄のときは赤く強調され、正しく入力されると自動で元のスタイルに戻るといったような動作をCSSだけで実現できます。

2:スクロールアニメーション
フェードインやスライドインなど、スクロールと連動するアニメーションはユーザー体験を向上させる定番表現です。
これまでは「Intersection Observer」などJavaScriptを使った実装が主流でしたが、CSSの新機能 animation-timeline によって、JavaScriptなしでスクロールに連動したアニメーションが実現可能になりました。
animation-timeline とは?
・view-timeline:スクロールの進行をタイムラインとして定義する
・animation-timeline:その進行度に応じたCSSアニメーションを適用する
例1:スクロールで要素がフェードイン
スクロールで要素がフェードインする場合のコードは次のとおりです。
.box {
view-timeline: –boxTimeline;
animation-timeline: –boxTimeline;
animation-range: entry 50% contain 20%;
}
@keyframes slide-in {
from { transform: translateY(16px); opacity: 0; }
to { transform: translateY(0); opacity: 1; }
}
この設定で、要素が画面に50%入ったあたりから、滑らかにフェードインします。
例2:スクロールに応じてプログレスバーを伸ばす
ページの進行状況を示すプログレスバーを表現するコードは次のとおりです。
scroll-demo-container {
height: 300px;
overflow-y: scroll;
background: #f1f5f9;
scroll-timeline: –boxTimeline y;
}
.progress-bar-box {
animation-name: progressBar;
animation-timeline: –boxTimeline;
}
@keyframes progressBar {
from { scale: 0 1;}
to{scale: 1 1;}
}
JavaScriptを使わないことでコードがシンプルになり、パフォーマンス向上にも貢献します。
現時点ではブラウザ対応が一部に限られますが、今後の標準化が期待される機能です。

3:View Transitions API
ページを切り替えるとき、画面が一瞬で切り替わってしまうと、やや唐突で機械的な印象になることがあります。
View Transitions APIを使えば、前の画面がフェードアウトしながら新しい画面がスムーズに表示されるなど、滑らかで心地よい画面遷移をCSSとJavaScriptの連携で実現できます。
たとえば、あるページから別のページに移動する際、前の要素がスーッと消えて、次の要素がふわっと表示されるといった表現も可能です。
CSSは次のように表記します。
::view-transition-old(view-content) {
animation: fade-out 0.3s ease-out forwards;
}
::view-transition-new(view-content) {
animation: fade-in 0.3s ease-in forwards;
}
@keyframes fade-out {
from { opacity: 1; transform: translate 0 0); }
to { opacity: 0; transform: 0 100%; }
}
@keyframes fade-in {
from { opacity: 0; transform: translateY(-100%); }
to { opacity: 1; transform: translateY(0); }
}
JavaScriptは、次のとおりに表記します。
const viewContent = document.querySelector(‘.view-content’);
const btnA = document.querySelector(‘#view-btn-a’);
const btnB = document.querySelector(‘#view-btn-b’);
btnA.addEventListener(‘click’, () => {
if (viewContent.textContent !== ‘画面Aの内容’) {
document.startViewTransition(() => {
viewContent.textContent = ‘画面Aの内容’;
});
}
});
Atnb.addEventListener(‘click’, () => {
if (viewContent.textContent !== ‘画面Bの内容’) {
document.startViewTransition(() => {
viewContent.textContent = ‘画面Bの内容’;
});
}
});
これで、「Aの画面のあとにBの画面が滑らかに現れる」といった表現が実現できます。

今後の動向を確認しながら取り入れていきましょう。
4:anchor
ポップアップやツールチップなど、特定の要素の近くに別の要素を表示するUIはWeb制作でよく使われます。
たとえば、「ボタンをクリックするとそのすぐ下にメニューが開く」といった動きです。
anchorでは、要素にアンカー名をつけて基準点に設定し、別の要素をその位置に合わせて配置できるため、HTMLの構造(親子関係)に依存せず、柔軟に位置指定ができるようになります。
実装例:ボタンのすぐ下にツールチップを表示
まず、基準となるボタンに名前をつけます。
.anchor-btn {
anchor-name: –popup-anchor;
}
次に、先ほどつけた名前を開く対象の要素につけ、位置を指定します。
.popup {
position-anchor: –popup-anchor;
bottom: calc(anchor(top) + 10px);
left: anchor(left);
animation: popup-fade-in 0.3s;
}
そして、どのような動きをするのかを定義します。
@keyframes popup-fade-in {
from {
opacity: 0;
transform: translateY(20px) scale(0.95);
}
to {
opacity: 1;
transform: translateY(0) scale(1);
}
}

まとめ:2025年以降のWeb制作に欠かせないCSS新機能を先取りしよう
この記事では、2025年以降のWeb制作に革新をもたらすCSSの最新機能4選を解説しました。
CSSの技術は新しいものがどんどんと登場しています。
新機能を取り入れることで効率的なコーディングにつながるため、ぜひ試してみてください。
未経験からWeb制作を学ぶならデイトラWeb制作コースがおすすめ!
東京フリーランスは、1日1題のステップでWebスキルを身につけられる”デイトラ”を運営しています。
デイトラWeb制作コースは、実務レベルの本格スキルを学び、Web制作を仕事にしたい方におすすめのコースです。
HTML/CSSやjavaScriptを始めとした言語の基本からデザインカンプをもとにしたコーディング、WordPressのオリジナルテーマ作成まで、学習カリキュラムはなんと100日分!Web制作を網羅的に学べます。
また、中級・上級の最終課題はメンターによる課題レビューつき!品質を現場目線でチェックしてもらえるため、「自分は今どのくらいのスキルがあるのか」が客観的にわかります。
Discordによる公式サポートの質問部屋も用意。実務を経験しているメンター陣があなたの疑問に回答してくれます。
Web制作のスキルを身につけたい方は、ぜひデイトラWeb制作コースをチェックしてみてください!
はにわまんさん(@haniwa008)
Webコーダー。コーディングを中心にディレクションからサイト運用・保守まで、Web制作全般の仕事に400件以上携わった経験あり。デイトラのマネージャーも務めている。