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
Sass Life
Search
saeka
December 07, 2020
Programming
1
71
Sass Life
Sassをもっと知りたい人のためのスライド
saeka
December 07, 2020
Tweet
Share
More Decks by saeka
See All by saeka
All About CSS
saeka
0
230
Other Decks in Programming
See All in Programming
코딩 에이전트 체크리스트: Claude Code ver.
nacyot
0
870
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
2
670
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
340
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
750
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
5
1.4k
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
140
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
150
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
420
VS Code Update for GitHub Copilot
74th
2
670
テスト駆動Kaggle
isax1015
1
510
技術同人誌をMCP Serverにしてみた
74th
1
680
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Agile that works and the tools we love
rasmusluckow
329
21k
Become a Pro
speakerdeck
PRO
29
5.4k
How STYLIGHT went responsive
nonsquared
100
5.6k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Writing Fast Ruby
sferik
628
62k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
RailsConf 2023
tenderlove
30
1.1k
Into the Great Unknown - MozCon
thekraken
40
1.9k
Code Review Best Practice
trishagee
69
19k
Transcript
Sass のある⽣活 - - Saeka Hirai
What is ?
Syntactically Awesome Style Sheets 構⽂的に 素敵な スタイル シート
1.Variables 2.Nesting 3.Partials 4.Modules 5.Mixins/functions 6.Extend/Inheritance 7.Operators Syntactically Awesome Features
[ のイケてるところ ]
SCSS CSS Sass Variables [ 変数 ] OR OR
変数って でも 標準装備なのでは? CSS
Map [ 連想配列 ] CSS → → COMPILE COMPILE Sass
SCSS
は配列や連想配列も 扱うことができる !
Nesting [ ⼊れ⼦ ] CSS SCSS Sass = =
これだけでも ⼗分便利だけど…
& [ 親参照(クラス) ] → → COMPILE COMPILE SCSS Sass
CSS
& [ 親参照(名前) ] → → COMPILE COMPILE Sass SCSS
CSS
⼊れ⼦ + &の合わせ技で コーディングスピード 爆上げ⤴⤴
Partials [ ファイル分割 ] Sass SCSS OR OR CSS
ファイル分割って でも 標準装備なのでは? CSS
Partials [ ファイル分割(CSS ) ] → → IMPORT IMPORT style.css
variables.css header.css footer.css
Partials [ ファイル分割(Sass ) ] _variables.sass _header.sass _footer.sass style.sass →
→ COMPILE COMPILE → → IMPORT IMPORT style.css ※パーシャルファイル(_[ファイル名].sass )はCSS にコンパイルされません
この違いが 意味するものとは?
Chrome DevTools Network [ 読み込み速度の⽐較 ] CSS import Sass import
& compile 全部読み込み終わるまで34ms 全部読み込み終わるまで28ms の⽅がソースの読み込みが早い!
ファイル分割で可読性UP⤴⤴ 変数との組み合わせで メンテナンス性UP⤴⤴
パーシャルファイルで ページ表⺬速度UP⤴⤴
Modules [ 部品 ] 2019/10 - Dart Sass Ver 1.23.0
- header.scss header.sass _variables.sass _variables.scss header.css → USE → → COMPILE COMPILE
@import に 似てる?
2022年10⽉にサポートが終了する予定 Roles [ それぞれの役割 ] @import ・同じファイルを読み込んだ分展開される ・読み込む変数が全てグローバルになる @use ・同じファイルを何回呼ばれても処理は⼀回 ・名前空間を持たせることができる
・プライベートメンバーが使える (関数等を使⽤するファイルを限定できる) NEW @forward ・他のモジュールを呼びつつ 新しいAPIをエクスポートできる (ライブラリ製作者は嬉しいらしい) NEW
モジュールシステムで 堅牢性UP⤴⤴
Mixins [ 使いまわせるCSS ] → → COMPILE COMPILE → →
IMPORT IMPORT header.css _mixin.sass header.sass @mixin は=に省略可 @import は+に省略可
Functions [ 関数 ] → → COMPILE COMPILE → →
IMPORT IMPORT header.sass header.css _function.sass
何回も使い回すCSSや 何回も⾏う単位の計算は でまとめてしまおう
Extend/Inheritance [ 展開/継承 ] → → COMPILE COMPILE Sass SCSS
CSS
@mixin の @include に似てる?
Roles [ それぞれの役割 ] @include ・使いまわすCSS にいろいろなパターン(引数)を持たせることができる ・@media 内で@include の使⽤ができる
@extend ・ピュアなCSS だけを継承させたいときに使う(パターン化はできない) ・@media 内では@extend は使⽤できない 個⼈的には@include の⽅が使い勝⼿がいいです
設計ルールに合わせて 使い回せるものは纏めて 柔軟性UP⤴⤴
Operators [ 演算⼦ ] Sass SCSS
違う単位同⼠の 計算もしたい?
Calc [ 計算式⽤関数 ] CSS ※勿論 ファイルの中でも使えますよ
演算⼦を駆使して 複雑なレイアウトの幅も∞
1.Variables 2.Nesting 3.Partials 4.Modules 5.Mixins/functions 6.Extend/Inheritance 7.Operators Syntactically Awesome Features
[ のイケてるところ ]
コラム
をコンパイル できる⾔語は 3種類 1.JavaScript → Dart Sass 2.C/C++ → Lib
Sass 3.Ruby → Ruby Sass ⚰
dart-sass → Dart Sass node-sass → Lib Sass npm [
N ode Package Manager ]
Sass とSCSS どっちがいいの?
Comparison [ ⽐較 ] SCSS ・CSS と同じ書き⽅({})なので学習コストは安く済む ・CSS と同じ書き⽅({})なのでネストの際にわかりやすい(かもしれない) ・ネストしすぎると{}の数が膨⼤になるので⾒た⽬がカオス
・{}さえあればインデントガタガタでも動いてしまうので (整形ツール無しだと)ソースが汚くなりやすい ・{}と;は毎回書かないといけないのでコーディングスピードは落ちる ・使⽤案件数は圧倒的Sass よりは多い、記事も多い
Comparison [ ⽐較 ] Sass ・rubyの記法に似ている({}の代わりにインデントを使⽤する)ので 学習コストはSCSS よりかかる ・慣れてしまえば爆速コーダーの⼀員です。ようこそ ・ネストしてもインデントなので⾒た⽬がすっきり(詳細度関係ない条件式のお話)
・結構厳しめのルール設定なので治安が保たれる (インデントおかしいとエラー, セミコロンの後に半⾓スペース必要) ・インデントでHTML を書けるPug との相性は抜群 ✨
どちらにも対応できるのが⼀番 あなたが 環境構築担当なら 学習コストのリスクを取ってでも ⻑い⽬で⾒たときに 治安が守られる⽅を選ぶのが賢明な判断
CSS から にしたい
css2sass で検索
最後に
のメイン製作者は Google の⼈です