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
Why I <3 SASS & Compass ...and you should too
Search
Julie Pagano
February 08, 2013
Technology
450
1
Share
Why I <3 SASS & Compass ...and you should too
Lightning talk about why I love SASS and Compass.
Julie Pagano
February 08, 2013
More Decks by Julie Pagano
See All by Julie Pagano
PSU February 2018
juliepagano
0
600
It's Dangerous to Go Alone: Battling the Invisible Monsters in Tech - CUSEC 2015
juliepagano
2
210
Speaking at Tech Events for Beginners
juliepagano
2
840
Breaking Down Stereotypes About Computing
juliepagano
0
650
Speaker Support of Awesomeness - Open Source Bridge 2014
juliepagano
3
440
It's Dangerous to Go Alone: Battling the Invisible Monsters in Tech - OSBridge 2014
juliepagano
0
790
It's Dangerous to Go Alone: Battling the Invisible Monsters in Tech - PyCon 2014
juliepagano
7
1.7k
It's Dangerous to Go Alone: Battling the Invisible Monsters in Tech - Nickel City Ruby 2013
juliepagano
4
7.5k
I Am a Front-End Web Dev (and so can you!) - SCRC 2013
juliepagano
6
1.1k
Other Decks in Technology
See All in Technology
プロジェクトマネジメントは AIでどう変わるか?
mkg5383
0
200
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
数案件を同時に進行するためのコンテキスト整理術
sutetotanuki
1
190
ログ基盤・プラグイン・ダッシュボード、全部整えた。でも最後は人だった。
makikub
5
1.4k
🀄️ on swiftc
giginet
PRO
0
320
ある製造業の会社全体のAI化に1エンジニアが挑んだ話
kitami
2
850
AIを活用したアクセシビリティ改善フロー
degudegu2510
1
170
DevOpsDays2026 Tokyo Cross-border practices to connect "safety" and "DX" in healthcare
hokkai7go
0
120
バックオフィスPJのPjMをコーポレートITが担うとうまくいく3つの理由
yueda256
1
300
ZOZOTOWNリプレイスでのSkills導入までの流れとこれから
zozotech
PRO
4
3.3k
DIPS2.0データに基づく森林管理における無人航空機の利用状況
naokimuroki
0
190
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
380
Featured
See All Featured
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
710
Producing Creativity
orderedlist
PRO
348
40k
Balancing Empowerment & Direction
lara
5
1k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
300
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
110
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
310
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
440
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
260
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Transcript
Why I <3 SASS & Compass ...and you should too
Julie Pagano @juliepagano
Software Engineers
Software Engineering Principles
Software Engineering Principles Don’t repeat yourself
Software Engineering Principles Don’t repeat yourself Make it easy to
reuse
Software Engineering Principles Don’t repeat yourself Make it easy to
reuse Don’t reinvent the wheel
CSS Don’t repeat yourself Make it easy to reuse Don’t
reinvent the wheel
+
+ extend CSS
+ readable CSS
+ reusable CSS
+ maintainable CSS
+ awesome CSS
Syntactically Awesome Stylesheets
CSS meta-language
3 uses
3 uses 1. Command-line tool
3 uses 1. Command-line tool 2. Standalone Ruby module
3 uses 1. Command-line tool 2. Standalone Ruby module 3.
Plugin for any Rack-enabled framework, including Ruby on Rails*
3 uses 1. Command-line tool 2. Standalone Ruby module 3.
Plugin for any Rack-enabled framework, including Ruby on Rails* * included in the asset pipeline in Rails 3.1+
Variables $width: 800px; $font: 'Open Sans'; $color: #fff;
Mixins Reusable chunks of CSS that take arguments @mixin fn($arg1,
$arg1) { ... } div { @include fn(1, 2); } Functions in your CSS!
Math Operations + -‐
* / % yay, arithmetic!
String operations Concatenation font-‐family: 'Open ' + 'Sans'; font-‐family: 'Helvetica,
#{$fallback}'; Interpolation
Conditionals @if (condition) { ... } @else if (condition) {
... } @else { ... }
Loops @for $i from 1 through 6 { ... }
@each $item in $list { ... } @while $i > 0 { ... $i: $i - 1; }
Nesting nav { margin: 20px; }
nav ul { width: 100%; } nav ul li { float: left; } nav ul li a { padding: 1em; }
Nesting nav { margin: 20px;
ul { width: 100%; li { float: left; a { padding: 1em; } } } }
the rule
Don’t go more than 4 levels deep
colors #ff0000;
lighten lighten(#ff0000, 10%)
darken darken(#ff0000, 20%)
and even more... • More useful helper functions • Inheritance
• Output formatting • Extensions in Ruby
SASS-based framework
web’s best reusable patterns
Cross-browser @include inline-block; @include has-layout;
CSS3 -webkit- -moz- -ms- -o-
CSS3 @include border-radius(10px);
Hacks @include clearfix; @include text-replacement;
Sprites!
+ make CSS feel like a real programming language <3