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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
CSC307 Lecture 02
javiergs
PRO
1
770
SourceGeneratorのススメ
htkym
0
190
Oxlintはいいぞ
yug1224
5
1.3k
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
6k
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
510
ぼくの開発環境2026
yuzneri
0
110
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
100
Architectural Extensions
denyspoltorak
0
270
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
500
「ブロックテーマでは再現できない」は本当か?
inc2734
0
600
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
640
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
82
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
36k
We Have a Design System, Now What?
morganepeng
54
8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
So, you think you're a good person
axbom
PRO
2
1.9k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
120
Google's AI Overviews - The New Search
badams
0
900
Paper Plane (Part 1)
katiecoart
PRO
0
4k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
97
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
63
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
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 の⼈です