Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
実はすごいスピードで進化しているCSS
Search
Hayato Yokoyama
May 31, 2025
Programming
0
220
実はすごいスピードで進化しているCSS
Hayato Yokoyama
May 31, 2025
Tweet
Share
More Decks by Hayato Yokoyama
See All by Hayato Yokoyama
AIが特別じゃなくなった時代に、作ることを楽しもう
hayato_yokoyama
0
21
AIのためのテスト戦略 〜TDDが難しいフロントエンド開発でのアプローチ〜
hayato_yokoyama
0
180
Next.js AppRouter × GraphQL 〜 夢見た理想と現実の課題 〜
hayato_yokoyama
0
160
フロントエンドテストを書きやすくするために工夫したこと
hayato_yokoyama
1
83
Other Decks in Programming
See All in Programming
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
620
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
140
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
300
Nostalgia Meets Technology: Super Mario with TypeScript
manfredsteyer
PRO
0
110
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
1.1k
飯MCP
yusukebe
0
350
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
230
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
390
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
190
Feature Toggle は捨てやすく使おう
gennei
0
340
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.4k
AI 開発合宿を通して得た学び
niftycorp
PRO
0
170
Featured
See All Featured
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
89
Joys of Absence: A Defence of Solitary Play
codingconduct
1
320
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Building AI with AI
inesmontani
PRO
1
820
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
430
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
Believing is Seeing
oripsolob
1
95
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
310
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
190
Between Models and Reality
mayunak
2
240
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
240
Transcript
実はすごいスピードで進化している CSS 2025/05/30 横山 隼 Meguro.css #12
自己紹介 • ディップ株式会社(2022年新卒) • フロントエンドメインに WEBやスマホアプリの開発 横山 隼
None
None
None
None
None
いろいろ取り組んでいる会社
フロントエンドの情報共有が少ない気がした
会社で「CSSで今こんなことできます!!! 」をLTした
社内LTと同じ温度感でやるのも違うので...
実はすごいスピードで進化している CSS 2025/05/30 ディップ株式会社 横山 隼 Meguro.css #12
実はすごいスピードで進化している CSS すごいスピードで進化している CSSについて スペシャリストの皆さんにお伺いしたい 2025/05/30 ディップ株式会社 横山 隼 Meguro.css
#12
こんなノリで聞いてください
View Transition API
ご存知の方
使っている方
ぶつ切りな WEBサイトのUI/UX • スマホアプリだと「滑らかに切り替わる」 • WEBだと「パッと切り替わる」 • WEBでスマホアプリみたいな 滑らかさを表現するのは結構難しい
View Transitionの登場 • View Transition API で 簡単に「スッ」と動かせるようになった • Reactからも実験的機能で<ViewTransition>
API が登場
None
Experimental & Firefox がまだ未サポート https://developer.mozilla.org/ja/docs/Web/API/ViewTransition
コンテナクエリ
ご存知の方
使っている方
レスポンシブのこれまで レスポンシブデザインといえば、 「画面の幅が◯ px以下なら、こう表示する 」 → メディアクエリ(@media) @media screen and
(width: 600px) { body { color: red; } }
コンポーネント単位で考えるレスポンシブ • Container Queries(コンテナクエリ) 登場 • コンポーネントが置かれている親要素のサイズを見て、スタイルを適用 • レスポンシブを「画面単位」ではなく「コンポーネント単位」 で考える
@container (min-width: 700px) { .card h2 { font-size: 2em; } }
全ブラウザ対応🚀 https://caniuse.com/css-container-queries
まだまだ進化している
ダークモード対応
prefers-color-scheme • prefers-color-scheme で OS設定のライト/ダークに 連動して、切り替えられる • 2020年1月から 全ブラウザ利用可能 body
{ background-color: #efedea; } /* ダークモードのときのみ適用 */ @media (prefers-color-scheme: dark) { body { background-color: #223a2c; } } https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme
light-dark() • light-dark() 関数で 1行でライト/ダークを切り替えることもできる body { background-color: light-dark(#efedea, #223a2c);
}
light-dark() も全ブラウザ対応 https://developer.mozilla.org/ja/docs/Web/CSS/color_value/light-dark
CSS Nesting
Sass いらずでネストできる CSS Nesting • もうネイティブCSSでネストしてかける • ネストするためのSassはもういらない a {
&:hover { background-color: #eee; } &:focus { outline: 3px solid #06c; } }
全ブラウザ対応🚀 https://caniuse.com/css-nesting
Scoped Styles
CSSにスコープをつけられる @scope • CSSはグローバルで競合してしまう 問題があった → スケールしたときにバグの温床になる • 競合を回避する様々なアプローチが誕生 ◦
BEM, CSS Modules, Tailwind CSS, CSS in JS, Sass など • クラス名の衝突を気にせずにシンプルな命名が可能に @scope (.card) { p { color: red; } }
Firefoxがまだ未サポート https://developer.mozilla.org/ja/docs/Web/CSS/@scope
oklch / color-mix()
色指定の幅が広がる oklch / color-mix() • RGB(rgb(0,0,0))や16進数カラーコード(#000000) だけじゃない • より直感的に操作できる oklch
◦ okL → 明るさ(Lightness)、C → 彩度(Chroma)、H → 色相(Hue) • 色を混ぜる color-mix() oklch(40.1% 0.123 21.57) color-mix(in lch, plum 40%, pink);
全ブラウザ対応🚀 https://caniuse.com/mdn-css_types_color_oklch https://caniuse.com/mdn-css_types_color_color-mix
他にもいっぱい
まとめ • キャッチアップ漏れがちですが、地味にCSSも進化が速い • すでに使っていた機能、使ってみようと思った機能、驚いた機能など ぜひご感想やフィードバックをいただけると幸いです • CSSでこんなことできるぜ って広めて最高のサイトを作っていきましょう
ご清聴、ありがとうございました 🍡
引用 • ディップ株式会社はPHPerKaigi 2025にゴールドスポンサーで参加します! • go-json/optパッケージを公開しました • レガシーシステムにNew Relicを入れて改善を頑張った話 •
ディップで進める!データセンター卒業プロジェクト