Created
July 7, 2013 06:15
-
-
Save djcommandline/5942509 to your computer and use it in GitHub Desktop.
SASS :: CHEATSHEET
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Variable: */ | |
$red: #ff0000; | |
.myClass { | |
color: $red; | |
} | |
/* !default: If a variable isn't given a value, it uses the one set for default */ | |
$color: #000000; | |
$color: #ff0000 !default; | |
.myClass { | |
color: $color; | |
} | |
/* compiles to black - if color isn't defined, then it gets red */ | |
.myClass { | |
color: #000000; | |
} | |
/* Mixin: Re-use whole chunks of CSS, properties or selectors */ | |
@mixin myfont ($size, $weight, $family){ | |
font: { | |
size: $size; | |
weight: $weight; | |
family: $family; | |
} | |
} | |
.myClass { | |
@include font(18px, "bold", "Arial,Helvetica,sans-serif"); | |
} | |
/* Nesting: Avoids repetition by nesting selectors within one another */ | |
nav ul { | |
margin: 0; | |
padding: 0; | |
li { | |
list-style: none; | |
display: inline; | |
a { | |
color: $red; | |
} | |
} | |
} | |
/* Nested Properties */ | |
.myFont { | |
font:{ | |
family: Arial; | |
size: 14px; | |
weight: bold; | |
} | |
} | |
/* Selector Inheritance (Using @extend): Give a selector the styles of one, | |
PLUS any additional. This way you don't repeat classes. */ | |
.myClass { | |
color: #ff0000; | |
margin: 10px; | |
} | |
.anotherClass { | |
@extend .myClass; | |
border: 1px #000 solid; | |
} | |
/* '&': Referencing Parent Selectors */ | |
a { | |
color: #ff0000; | |
&:hover { | |
color: #666666; | |
} | |
} | |
/* Operations: +, -, *, /, %*/ | |
$width: 1000px; | |
.myClass { | |
width: $width - 400px; | |
} | |
/* Interpolation: #{} */ | |
$className: samcro; | |
$attr: background; | |
a.#{$className} { #{$attr}-color: #000000 } | |
/* compiles to */ | |
a.samcro { | |
background-color: #000000; | |
} | |
/* Partials: Additional Sass/SCSS files you want to import but don't want | |
to compile into additional CSS files (meaning styles are imported into the | |
main .scss file) */ | |
/* Just save the new file with an underscore in front of it: _nav.scss, | |
then in the main sass/scss file type - (NOTE - just found out you will get an error if you do not have it AFTER your declared variables and stuff) */ | |
@import "nav"; | |
/* @if, @elseif, @else */ | |
$type: monster; | |
p { | |
@if $type == ocean { | |
color: blue; | |
} @else if $type == matador { | |
color: red; | |
} @else if $type == monster { | |
color: green; | |
} @else { | |
color: black; | |
} | |
} | |
/* @for - could really badass on lists if you needed them each to have | |
unique styles (@while works similar) */ | |
@for $i from 1 through 3 { | |
.myClass-#{$i} { width: 2px * $i; } | |
} | |
/* compiles to */ | |
.myClass-1 { | |
width: 2px; } | |
.myClass-2 { | |
width: 4px; } | |
.myCass-3 { | |
width: 6px; } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment