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
斉藤賢悟
September 22, 2025
Programming
1
100
先進的なCSS関数で実現する動的スタイリング
フロントエンドカンファレンス東京2025登壇資料
斉藤賢悟
September 22, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
1.2k
CSC305 Lecture 02
javiergs
PRO
1
270
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
210
スマホから Youtube Shortsを見られないようにする
lemolatoon
23
22k
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
0
200
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
3.8k
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
670
私はどうやって技術力を上げたのか
yusukebe
43
18k
Back to the Future: Let me tell you about the ACP protocol
terhechte
0
140
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.2k
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.5k
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
180
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
33
8.9k
A Tale of Four Properties
chriscoyier
160
23k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
How to Think Like a Performance Engineer
csswizardry
27
2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Docker and Python
trallard
46
3.6k
Faster Mobile Websites
deanohume
310
31k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Mobile First: as difficult as doing things right
swwweet
224
10k
Transcript
先進的なCSS関数で実現する 動的スタイリング 🗂kengoー.zsh - 80x32 × ー フロントエンドカンファレンス東京2025 斉藤賢悟
氏名:斉藤賢悟 学校:北海道情報大学 経営情報学部 4年 - フロントエンドカンファレンス北海道 2024,2025 コアスタッフ - 松尾研発スタートアップARCRA Web系、AI系 自己紹介 🗂kengoー.zsh
- 80x32 × ー X: kengo20_03
最近のトレンド 🗂kengoー.zsh - 80x32 × ー 生成AI LLM ばっかり
今回のテーマ「CSS関数」 🗂kengoー.zsh - 80x32 × ー
if() 🗂kengoー.zsh - 80x32 × ー
if() 🗂kengoー.zsh - 80x32 × ー 値の中で条件分岐ができる関数 条件はmedia()/supports()/style()の3タイプ
media() supports() style() 🗂kengoー.zsh - 80x32 × ー メディアクエリと同様の判断を行います
media() supports() style() 🗂kengoー.zsh - 80x32 × ー 例)画面が広い時だけ余白を増やす
media() supports() style() 🗂kengoー.zsh - 80x32 × ー 指定したCSSをブラウザがサポートしているか否か を判断します
media() supports() style() 🗂kengoー.zsh - 80x32 × ー 例)高度な色空間が使えるならOKLCH
if() なら1つの宣言にまとめれる 🗂kengoー.zsh - 80x32 × ー
それなら@supportsや@mediaで いいのでは🤔 🗂kengoー.zsh - 80x32 × ー
media() supports() style() 🗂kengoー.zsh - 80x32 × ー その要素の状態や属性を見て、値を切り替えます
media() supports() style() 🗂kengoー.zsh - 80x32 × ー 例:状態変数だけで色を切替
progress() / scroll() 🗂kengoー.zsh - 80x32 × ー
progress() 🗂kengoー.zsh - 80x32 × ー ある値が「開始→終了」のどの辺りかを 0〜1 で返 す関数
progress(<現在値>, <開始値>, <終了値>)
progress() 🗂kengoー.zsh - 80x32 × ー 例)
scroll() 🗂kengoー.zsh - 80x32 × ー スクロール量をアニメーションの時間に変換
ページ上部のプログレスバー progress() × scroll(root) 🗂kengoー.zsh - 80x32 × ー
Chrome140 9/3にリリース 🗂kengoー.zsh - 80x32 × ー
calc()がアップデート 🗂kengoー.zsh - 80x32 × ー
calc()とは 🗂kengoー.zsh - 80x32 × ー CSS上で四則演算を行うことができる
今までは 🗂kengoー.zsh - 80x32 × ー 異なる単位同士の計算は、加算と減算のみ
Chrome 140~ 🗂kengoー.zsh - 80x32 × ー 乗算や除算でも異なる単位同士の型付き計算が可能に
実例 🗂kengoー.zsh - 80x32 × ー
ビューポート幅でアニメ速度をスケール 🗂kengoー.zsh - 80x32 × ー
実例 🗂kengoー.zsh - 80x32 × ー
最後に 🗂kengoー.zsh - 80x32 × ー
まとめ 🗂kengoー.zsh - 80x32 × ー ぶっちゃけCSS関数使わなくても実装できる 知らない技術を触ってみよう