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
100
実はすごいスピードで進化しているCSS
Hayato Yokoyama
May 31, 2025
Tweet
Share
More Decks by Hayato Yokoyama
See All by Hayato Yokoyama
Next.js AppRouter × GraphQL 〜 夢見た理想と現実の課題 〜
hayato_yokoyama
0
130
フロントエンドテストを書きやすくするために工夫したこと
hayato_yokoyama
1
77
Other Decks in Programming
See All in Programming
從零到一:搭建你的第一個 Observability 平台
blueswen
0
300
プロダクト開発でも使おう 関数のオーバーロード
yoiwamoto
0
110
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
450
『Python → TypeScript』オンボーディング奮闘記
takumi_tatsuno
1
150
がんばりすぎないコーディングルール運用術
tsukakei
1
210
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
6.1k
Devinで実践する!AIエージェントと協働する開発組織の作り方
masahiro_nishimi
6
2.8k
Parallel::Pipesの紹介
skaji
2
890
Passkeys for Java Developers
ynojima
2
760
Interface vs Types ~型推論が過多推論~
hirokiomote
1
240
#QiitaBash TDDでAIに設計イメージを伝える
ryosukedtomita
2
1.6k
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
230
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
The Invisible Side of Design
smashingmag
299
50k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.6k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Site-Speed That Sticks
csswizardry
9
610
Music & Morning Musume
bryan
47
6.6k
Become a Pro
speakerdeck
PRO
28
5.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
900
Navigating Team Friction
lara
186
15k
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を入れて改善を頑張った話 •
ディップで進める!データセンター卒業プロジェクト