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
280
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by Stuart Robson
See All by Stuart Robson
L-I-V-I-N
sturobson
2
730
A Modern Sass Artchitecture
sturobson
11
2.2k
A Modern Sass Architecture
sturobson
7
510
Cutting Edge Sass - Sass Summit 2014
sturobson
5
490
100% Pure Sass
sturobson
1
320
Make Your Code Delicious - From the Front, Italy 2014
sturobson
4
1.4k
Freelancing: One year done.
sturobson
0
1.4k
Sass: a whistle stop tour
sturobson
1
870
make your code delicious
sturobson
2
750
Other Decks in Programming
See All in Programming
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
190
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
730
メールのエイリアス機能を履き違えない
isshinfunada
0
200
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
160
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
200
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
630
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
0
350
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
140
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1.1k
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
9
4.4k
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
240
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
9
5.9k
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.7k
Exploring anti-patterns in Rails
aemeredith
3
450
Making Projects Easy
brettharned
120
6.7k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
560
Game over? The fight for quality and originality in the time of robots
wayneb77
1
230
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
350
Amusing Abliteration
ianozsvald
1
240
Fireside Chat
paigeccino
42
4k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
420
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
450
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
620
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