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
2
Next.jsのプロダクトでzodをReact Hook Formなしで使った話
amkkr
0
16
AIで下げたい参入障壁
amkkr
0
5
Other Decks in Programming
See All in Programming
LLMOpsのパフォーマンスを支える技術と現場で実践した改善
po3rin
8
930
令和最新版手のひらコンピュータ
koba789
13
7.7k
CEDEC2025 長期運営ゲームをあと10年続けるための0から始める自動テスト ~4000項目を50%自動化し、月1→毎日実行にした3年間~
akatsukigames_tech
0
140
DataformでPythonする / dataform-de-python
snhryt
0
170
あまり知られていない MCP 仕様たち / MCP specifications that aren’t widely known
ktr_0731
0
270
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
610
『リコリス・リコイル』に学ぶ!! 〜キャリア戦略における計画的偶発性理論と変わる勇気の重要性〜
wanko_it
1
530
iOS開発スターターキットの作り方
akidon0000
0
250
バイブコーディング × 設計思考
nogu66
0
120
あのころの iPod を どうにか再生させたい
orumin
2
2.5k
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
200
QA x AIエコシステム段階構築作戦
osu
0
270
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
BBQ
matthewcrist
89
9.8k
The Cult of Friendly URLs
andyhume
79
6.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Documentation Writing (for coders)
carmenintech
73
5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.4k
A designer walks into a library…
pauljervisheath
207
24k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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/