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.6k
8
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
630
Designing for the real world
kittygiraudel
0
490
Clever, stop being so
kittygiraudel
0
1k
Clever, stop being so
kittygiraudel
1
810
Clever, stop being so
kittygiraudel
2
480
Local styling with CSS Modules
kittygiraudel
20
3.3k
Three Years of Purging Sass
kittygiraudel
4
1.1k
Other Decks in Design
See All in Design
情報を翻訳する-伝わる可視化3原則とオープンデータ活用-
hjmkth
1
320
怖くないアクセシビリティ -カウンターカルチャーとしてのアッカン東京-
securecat
1
230
Where Imagination Ends AI Begins
r5ni4
0
270
Saving_the_King_-_Storyboard.pdf
terencebasart
0
250
CULTURE DECK/Creative Director
mhand01
0
1.4k
AI時代に必要な アイデアの形
uxman
0
250
ISO 9241-171:2025っていうのがあってな
shosira
1
230
CULTURE DECK/Frontend Engineer
mhand01
0
1.5k
セブンデックス プロジェクト事例 / innovation Scenes
sevendex
1
1.5k
デザインとフロントエンドの境界が融ける Claude Code × Figma
littlebusters
2
3.3k
AIスライド生成を進化させるMDファイル
kenichiota0711
1
1.5k
体験負債を資産に変える組織的アプローチ
hikarutakase
0
1.6k
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Between Models and Reality
mayunak
4
380
RailsConf 2023
tenderlove
30
1.5k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
160
Color Theory Basics | Prateek | Gurzu
gurzu
0
410
The untapped power of vector embeddings
frankvandijk
2
1.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
The World Runs on Bad Software
bkeepers
PRO
72
12k
KATA
mclloyd
PRO
35
15k
Navigating Team Friction
lara
192
16k
Building the Perfect Custom Keyboard
takai
2
830
YesSQL, Process and Tooling at Scale
rocio
174
15k
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