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
tenshin_y
June 23, 2025
Programming
0
1
CSSの歴史から選定まで
テテミートで話したCSS周りの話
tenshin_y
June 23, 2025
Tweet
Share
More Decks by tenshin_y
See All by tenshin_y
怪我をして考える情報アクセシビリティ
amkkr
0
5
Next.jsのプロダクトでzodをReact Hook Formなしで使った話
amkkr
0
19
AIで下げたい参入障壁
amkkr
0
5
Other Decks in Programming
See All in Programming
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
550
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
340
AI Agent 時代的開發者生存指南
eddie
3
1.7k
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
580
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
850
Go言語はstack overflowの夢を見るか?
logica0419
0
360
私はどうやって技術力を上げたのか
yusukebe
44
19k
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
0
290
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
240
品質ワークショップをやってみた
nealle
0
490
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
1k
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.7k
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
Rails Girls Zürich Keynote
gr2m
95
14k
The Cost Of JavaScript in 2023
addyosmani
55
9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Facilitating Awesome Meetings
lara
56
6.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Navigating Team Friction
lara
190
15k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Gamification - CAS2011
davidbonilla
81
5.5k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Code Reviewing Like a Champion
maltzj
526
40k
Practical Orchestrator
shlominoach
190
11k
Transcript
CSSの歴史から選定まで ~個人的思想~ 20250220 テテミート #12
自己紹介 名前 矢倉天心 SNS X: @ama_O255
CSSって? A. Webページを構成するHTMLに対して、 どう見えるかを制御し、 好みのデザインやレイアウトで文書をユーザーに提供するための言語。
CSSの歴史と課題 1 名前空間 CSSはグローバルスコープを持つため、 名前の衝突が起こりやすい。 タグ要素自体を指定できるが、大体事故を起こす。 2 メンテナンス性 上記理由により知らない間に使われていた、変更したら思ってない ところが壊れる。
しかしプログラムのようにコンパイルエラーは無い。
CSSプリプロセッサの登場
CSS Modulesの登場 1 コンポーネント指向 コンポーネントごとにスタイルを定義 Atomic Designなんかもこれが出来るようになって生まれた。 2 スコープの局所化 スタイルがコンポーネント内に限定され、名前の衝突を防ぐ。
3 保守性の向上 スタイルがコンポーネントと密接に結びつき、管理が容易。
CSS-in-JSの台頭 1 JavaScript記述 JavaScriptでスタイルを記述し、コンポーネントと一体化さ せる。 2 動的スタイリング propsやstateに応じて動的にスタイルを変化させることが可 能。 3
柔軟性 JavaScriptの機能を活用し、高度なスタイリングを実現。
CSS-in-JSたち styled-components tagにstyleを書き込まず、あらかじめベースとなるタグに対して styleを指定してコンポーネント自体を書くように定義する。 emotion jsのobject同様の書き方や、従来のCSSの書き方をサポート。 動的なスタイリングとは非常に相性が良い。
CSS Modules vs CSS-in-JS CSS Modules CSS-in-JS 記述方法 CSS, Sass
… JavaScript, CSS スコープ 自動生成による衝突回避 コンポーネント単位で適 用 動的スタイル 静的 柔軟 パフォーマンス 事前にCSSにコンパイル され高速 ランタイムに計算させる ため影響はある
個人的スタイリング方法の選定 チームのスキルセット 使うUIライブラリのサポートや方針 参考 https://techblog.zozo.com/entry/zozotown-css-in-js#fn:2 https://github.com/webpack-contrib/css-loader/issues/1050
ご清聴ありがとうございました スライド作成にgammaもありがとう https://gamma.app/