Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Sass Life
Search
saeka
December 07, 2020
Programming
1
72
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
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
150
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
1
290
AIコーディングエージェント(Gemini)
kondai24
0
260
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.9k
Graviton と Nitro と私
maroon1st
0
120
GISエンジニアから見たLINKSデータ
nokonoko1203
0
180
SwiftUIで本格音ゲー実装してみた
hypebeans
0
470
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
140
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
130
AIコーディングエージェント(NotebookLM)
kondai24
0
220
Deno Tunnel を使ってみた話
kamekyame
0
210
開発に寄りそう自動テストの実現
goyoki
2
1.3k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.9k
GraphQLとの向き合い方2022年版
quramy
50
14k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
180
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Speed Design
sergeychernyshev
33
1.4k
Context Engineering - Making Every Token Count
addyosmani
9
540
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
85
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Designing for Timeless Needs
cassininazir
0
87
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
220
Scaling GitHub
holman
464
140k
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 の⼈です