50
Sass/Compass Or how it finally clicked and I learned to love preprocessors . . . . . . . Scott Wilkinson HaloFX Media #HaloFX @hackmonk3y halofx.com hackmonkey.com

Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Sass/Compass

Or how it finally clicked and I learned to love preprocessors

. . . . . . . Scott Wilkinson

HaloFX Media

#HaloFX

@hackmonk3y halofx.com

hackmonkey.com

Page 2: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Why?

Page 3: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

“Because CSS is Hard”

- Chris Eppstein

Page 4: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

History

In the beginning... CSS has allows been a bit of trouble. 1980’s- SGML had stylesheets 1990- Stylesheets goal of HTML from beginning 1995- HTML 2.0, no stylesheets 1996- CSS1 spec

– IE3 offers text support, no box support

1997- HTML 3.2 & HTML 4.0 – NN4 offers limited CSS support, only because of IE

Page 5: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

History

1998- HTML4.0 & CSS2 spec – Neither IE4 or NN4 support CCS1 well.

1999- CSS3 drafts start to show up. – CSS3 broke into modules – Browser prefix Hell – IE5, Netscape fading fast

2013- CSS3 modules still evolving!

Firefox still requires -moz-box-sizing!

Page 6: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

What is a preprocessor?

Write in one syntax and output in a different syntax Extends CSS by writing a stylesheets in an extended

meta-language format and compiling out to valid CSS.

Emphasis on DRY (don't repeat yourself) No browser dependencies

Page 7: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

What preproccesors can do

Variables Define & reuse common rules Automate common syntax Make minor changes to existing rules Better organization of rules Perform math calculations

Page 8: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Sass & LESS

Sass - sass-lang.com – Syntactically Awesome Stylesheets – 2 syntax, (Sass, SCSS)

• Identical functionality – Ruby based app – Compass support

LESS - lesscss.org – Paired down version of Sass – Javascript based app – Influenced Sass v2 syntax

Page 9: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Sass

Page 10: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Sass

Sass {style with attitude} sass-lang.com

Page 11: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Sass

Sass – Original syntax – Syntactically Awesome Stylesheets – Indented format

• White space matters • No curly brackets or ;

– .sass extension

SCSS – Newer syntax – Sassy CSS

• White space doesn’t matter • Uses curly brackets and ;

– .scss extension – Any valid CSS is valid SCSS

Functionally identical, SCSS most commonly used

Page 12: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Sass Code Examples

Page 13: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Nesting

sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#nested_rules

Page 14: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Variables

sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#variables

Page 15: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Parent References sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#referencing_parent_selectors

Page 16: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Mixins

sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#mixins

Page 17: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Arguments

sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#mixin-arguments

Page 18: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Extends

sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#extend

Page 19: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Comments

sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#comments

Page 20: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Partials

sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#partials

Page 21: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Tools

Page 22: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Sassmeister

sassmeister.com

Page 23: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Codepen

codepen.io/pen/

Page 24: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Scout

mhs.github.io/scout-app

Page 25: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Scout

mhs.github.io/scout-app

Page 26: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Compass.app

compass.handlino.com

Page 27: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Compass.app

compass.handlino.com

Page 28: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Compass.app

compass.handlino.com

Page 29: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Compass.app

compass.handlino.com

Page 30: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Compass

compass-style.org

Page 31: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Compass

Page 32: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Compass

compass-style.org/reference/compass

Page 33: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Compass Mixins

compass-style.org/reference/compass

Page 34: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Mixins

Page 35: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Horizontal List

compass-style.org/reference/compass/typography/lists/horizontal_list

Page 36: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Border Radius

compass-style.org/reference/compass/css3/border_radius

Page 37: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Font Face

compass-style.org/reference/compass/css3/font_face

Page 38: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Gradients

compass-style.org/reference/compass/css3/images

Page 39: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Gradients

compass-style.org/reference/compass/css3/images

Page 40: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Box Shadow

compass-style.org/reference/compass/css3/box_shadow

Page 41: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Box Shadow

compass-style.org/reference/compass/css3/box_shadow

Page 42: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Sprites

compass-style.org/reference/compass/utilities/sprites

Page 43: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Sprites

compass-style.org/reference/compass/typography/text/replacement

Page 44: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Sprites

compass-style.org/help/tutorials/spriting/magic-selectors

Page 45: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Errors

Page 46: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Drupal

Page 47: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Sass, Compass and Omega

drupal.org/node/1808252

Page 48: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

compass create . --sass-dir=scss --css-dir=css --bare

Copy all files from css folder to scss folder Rename all .css files to .scss

Sass, Compass and Omega

Page 49: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Sass, Compass and Omega

<theme>/scss <theme>/css

Page 50: Sass/Compass - 2013.drupalcorn.org2013.drupalcorn.org/archive/2013/sites/default/files/slides/Sass.pdf · Sass/Compass . Or how it finally clicked and I learned to love preprocessors

Sass/Compass

Or how it finally clicked and I learned to love preprocessors

. . . . . . . Scott Wilkinson

HaloFX Media

#HaloFX

@hackmonk3y halofx.com

hackmonkey.com