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: An Introduction
Search
Stuart Robson
January 08, 2014
Programming
0
220
Sass: An Introduction
These are the slides I used in my workshop at The Founder Hub on the 8th of January 2014
Stuart Robson
January 08, 2014
Tweet
Share
More Decks by Stuart Robson
See All by Stuart Robson
L-I-V-I-N
sturobson
2
640
A Modern Sass Artchitecture
sturobson
11
2k
A Modern Sass Architecture
sturobson
7
440
Cutting Edge Sass - Sass Summit 2014
sturobson
5
380
100% Pure Sass
sturobson
1
290
Make Your Code Delicious - From the Front, Italy 2014
sturobson
4
1.2k
Freelancing: One year done.
sturobson
0
1.2k
Sass: a whistle stop tour
sturobson
1
790
make your code delicious
sturobson
2
670
Other Decks in Programming
See All in Programming
リアルタイムレイトレーシング + ニューラルレンダリング簡単紹介 / Real-Time Ray Tracing & Neural Rendering: A Quick Introduction (2025)
shocker_0x15
1
290
Qiita Bash
mercury_dev0517
1
180
PHPのガベージコレクションを深掘りしよう
rinchoku
0
260
DomainException と Result 型で作る型安全なエラーハンドリング
karszawa
0
880
小田原でみんなで一句詠みたいな #phpcon_odawara
stefafafan
0
310
マルチアカウント環境での、そこまでがんばらない RI/SP 運用設計
wa6sn
0
710
Kamal 2 – Get Out of the Cloud
aleksandrov
1
170
S3静的ホスティング+Next.js静的エクスポート で格安webアプリ構築
iharuoru
0
220
AIコーディングワークフローの試行 〜AIエージェント×ワークフローでの自動化を目指して〜
rkaga
2
3.3k
Unlock the Potential of Swift Code Generation
rockname
0
240
PHPで書いたAPIをGoに書き換えてみた 〜パフォーマンス改善の可能性を探る実験レポート〜
koguuum
0
100
Rollupのビルド時間高速化によるプレビュー表示速度改善とバンドラとASTを駆使したプロダクト開発の難しさ
plaidtech
PRO
1
160
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
YesSQL, Process and Tooling at Scale
rocio
172
14k
A Tale of Four Properties
chriscoyier
158
23k
Rails Girls Zürich Keynote
gr2m
94
13k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Fireside Chat
paigeccino
37
3.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.1k
Practical Orchestrator
shlominoach
186
10k
Transcript
Sass: An Introduction Founder’s Hub, Cardiff. January 2014
About Me. Stuart Robson ! front-end developer ! rwdcalc.com SassnotSASS.com
! Sassifaction
A small caveat I don’t know _everything_
What is Sass?
Syntactically Awesome Stylesheets A pre-processor making CSS fun again.! Hampton
Catlin created it in 2006 to work along side HAML! Nathan Weizenbaum began to assist and develop it late 2006! Chris Epstein committed the first version of Compass in Autumn 2008
Alternatives to Sass
The Tale of Two Syntaxes
Sass
SCSS
Installing Sass… PrePros
None
Your First Sass file
CSS and Sass commenting ‘CSS’ style comments are retained unless
:compressed Unless you write - /*! comment */
Sass > CSS compile options :nested :expanded :compact :compressed
@import In CSS In Sass
None
So, what can Sass do?
$variables what could we use it for?
The Facebook Blue Declared 261 times throughout all stylesheets! Imagine
if Zuck wanted to change the shade? #3B5998
None
Webfonts with easy fallbacks
None
Border Radius Margin Media Queries Border Padding
Nesting
Don’t follow DOM
3 levels deep When nesting your Sass, don’t go any
further than 3 levels deep helps performance (although negligible).! helps sanity when looking at your code.
Combining Selectors
The Powerful Ampersand
The Parent Selector using the &(ampersand) reference the parent selector
None
@mixins resusable code snippets! customisable but you can set default
$arguments
@mixins Make Sass write the menial bits of CSS for
you
@extend clones the attributes from a rule and adds them
to another rule! be careful, with great power comes great responsibility
@extends
Using @extend badly
%placeholders they can be @extend-ed just like existing classes or
IDs.! the @extend-ed %placeholder will be generated.! the actual %placeholder selector won’t be generated. or ‘silent classes’
%placeholders or ‘silent classes’
Functions Math Operators +, -, *, /, and %
Functions Number Functions
Functions Control Directives @if @for @each @while
Functions @for loop
Functions @each loop
Colour
@content allow you to pass anything into a mixin! I
mainly use it for media queries! could be added to the bottom of any mixin, just in case
@content
@content & media queries
@content, media queries and Internet Explorer
A CSS authoring framework
What’s in Compass CSS3 mixins! typographic rhythm! sprite generation! loads
of helpers
Lots of Sass mixins grids typographical ! stylesheet
Sass 3.3
Sass 3.3 Sourcemaps - so you can see what you’re
editing in devtools.! Improved & support! Maps support! @at-root rule