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
240
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
実はすごいスピードで進化しているCSS
Hayato Yokoyama
May 31, 2025
More Decks by Hayato Yokoyama
See All by Hayato Yokoyama
「型ガードしたのにnullable」から卒業する
hayato_yokoyama
0
110
「バイトル」のTypeScriptリニューアル — 積み上がったレガシーとパフォーマンスに挑む現在地
hayato_yokoyama
0
26
AIが特別じゃなくなった時代に、作ることを楽しもう
hayato_yokoyama
0
27
AIのためのテスト戦略 〜TDDが難しいフロントエンド開発でのアプローチ〜
hayato_yokoyama
0
250
Next.js AppRouter × GraphQL 〜 夢見た理想と現実の課題 〜
hayato_yokoyama
0
170
フロントエンドテストを書きやすくするために工夫したこと
hayato_yokoyama
1
89
Other Decks in Programming
See All in Programming
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
720
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
360
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
110
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.4k
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
280
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
11
4.3k
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
400
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.4k
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
270
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
210
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
13k
Featured
See All Featured
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
860
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
210
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
How STYLIGHT went responsive
nonsquared
100
6.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Between Models and Reality
mayunak
4
340
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Become a Pro
speakerdeck
PRO
31
6k
Music & Morning Musume
bryan
47
7.2k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
540
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を入れて改善を頑張った話 •
ディップで進める!データセンター卒業プロジェクト