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
Keep Calm and Write Sass
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kitty Giraudel
November 14, 2014
Design
6.4k
8
Share
Keep Calm and Write Sass
Slides of my 18-minutes talk "Keep Calm and Write Sass" at dotCSS 2014 (November 14th).
Kitty Giraudel
November 14, 2014
More Decks by Kitty Giraudel
See All by Kitty Giraudel
L’accessibilité au delà des specs
kittygiraudel
0
530
Designing for the real world
kittygiraudel
0
450
Clever, stop being so
kittygiraudel
0
890
Clever, stop being so
kittygiraudel
1
760
Clever, stop being so
kittygiraudel
2
460
Local styling with CSS Modules
kittygiraudel
20
3.2k
Three Years of Purging Sass
kittygiraudel
4
1k
Other Decks in Design
See All in Design
「デザイン」の自分ごと化から始める、デザインピープルのふるまい
mewmo
0
200
kintone Style Book
kintone
6
12k
AI時代に必要な アイデアの形
uxman
0
150
結びながら、ひらく - にじむ境界のデザイン
hilokifigma
4
1.6k
TUNAG BOOK 2024
stmn
PRO
0
1.5k
デザイナーとエンジニアで 同じ山に登ろう
moco1013
0
190
セブンデックス プロジェクト事例 / innovation Scenes
sevendex
1
410
Build for the Web, Build on the Web, Build With the Web
csswizardry
0
310
Signull 団体説明資料
signull
0
500
次世代のクリエイティブ体験!Photoshopの最新機能で新しい未来を切り開こう
connecre
0
120
Goodpatch Tour💙 / We are hiring!
goodpatch
31
1.1M
富山デザイン勉強会_デザイントレンド2026.pdf
keita_yoshikawa
3
160
Featured
See All Featured
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
The Pragmatic Product Professional
lauravandoore
37
7.2k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
370
Navigating Weather and Climate Data
rabernat
0
150
Become a Pro
speakerdeck
PRO
31
5.9k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
170
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
A better future with KSS
kneath
240
18k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
340
Building Applications with DynamoDB
mza
96
7k
So, you think you're a good person
axbom
PRO
2
2k
Visualization
eitanlees
150
17k
Transcript
None
“Your CSS is a mess.” Jonathan Snook
Your CSS is a mess.
Broken from the start?
Sass to the rescue!
But... wait.
It's not all bright and shiny.
Complexity, maintainability, scary code...
Don't over-{think|engineer}
KISS Keep It Simple, Stupid!
KYSS Keep Your Sass Simple Keep Sass Simple at SitePoint
KYSSS Keep Your Sass Simple & Straightforward
KYSSSS Keep Your Sass Simple, Smart & Straightforward...
Write simple APIs
.parent { @include _( 10 8 6 4, $gutter: alpha
omega omega default ); }
.parent { width: 100%; @include respond-to("desktop") { width: 75%; }
}
$color: map-get( map-get( map-get( $themes, "shopping" ), "colors" ), "secondary"
);
$color: theme-conf( "shopping", "colors", "secondary" );
Beware of selector nesting Beware of selector nesting at SitePoint
Don't do everything in Sass
Rethinking Atwood's law
Anything that can be written in Sass will eventually be
written in Sass (probably by me)
SassyJSON @include json-encode(( "cats" : true, "answer" : 42 ));
// {"cats": true, "answer": 42} github.com/HugoGiraudel/SassyJSON
SassySort $list: sort( "How" "cool" "Sass" "is?" 42 ); //
42 "cool" "How" "is?" "Sass" github.com/HugoGiraudel/SassySort
SassyBitwise $value: bitwise(42 '&' 48); // 32 github.com/HugoGiraudel/SassyBitwise
Some things shouldn't be done
Vendor prefixing? Maybe not.
Autoprefixer Less code Up-to-date github.com/postcss/autoprefixer
REM? Think twice.
px_to_rem Less code Easier github.com/songawee/px_to_rem
None
Clean your code
.selector { color: blue; backgroud: url(unicorn.png); -webkit-transform: rotate(15deg); transform: rotate(15deg);
position: relative }
.selector { position: relative; -webkit-transform: rotate(15deg); transform: rotate(15deg); color: blue;
backgroud: url("unicorn.png"); }
cssguidelin.es
scss-lint github.com/causes/scss-lint
Document your code
.selector { overflow: hidden; white-space: nowrap; margin: -.5em; z-index: 42;
}
/** * 1. Clear inner floats * 2. Force all
items on same line * 3. Cancel items padding * 4. Above content, below modal */ .selector { overflow: hidden; /* 1 */ white-space: nowrap; /* 2 */ margin: -.5em; /* 3 */ z-index: 42; /* 4 */ }
Document your Sass
SassDoc sassdoc.com
/// Mixin to size an element /// @access public ///
@param {Number} $width - Width /// @param {Number} $height - Height /// @example scss - Sizing an element /// .element { /// @include size(100%, 5em); /// } SassDoc
SassDoc
Test your code
True or BootCamp
@include describe("A suite") { @include it("contains spec with expectation") {
@include should( expect(2 + 2), to(be(4)) ); } } Bootcamp github.com/thejameskyle/bootcamp
KISS - KYSS clean, test, document
And everything will be fine.
Thanks! @HugoGiraudel