Top Banner
Intro to Sass for WordPress Theme Developers WordCamp Salt Lake City 2015 by Suzette Franck
47

Intro to Sass for WordPress Developers

Apr 13, 2017

Download

Technology

Suzette Franck
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Intro to Sass for WordPress Developers

Intro to Sass for WordPress Theme Developers

WordCamp Salt Lake City 2015

by

Suzette Franck

Page 2: Intro to Sass for WordPress Developers

Who I Am

HTML and CSS teacher for Girl Develop It, Los Angeles

Born in Hollywood, resides in So. California

20 Years Coding & Web Development

Developed over 300 WordPress sites

Spoken at 25 WordCamps

Reg. Contributor: WPwatercooler.com

Page 3: Intro to Sass for WordPress Developers

My GoalTeach you at least one thing you can put into practice right away

Page 4: Intro to Sass for WordPress Developers

by Dan Cederholm

Sass For Web Designers

Page 5: Intro to Sass for WordPress Developers

What is Sass?

Syntactically Awesome Style Sheets

“Sass” not SASS & not S.A.S.S.

Page 6: Intro to Sass for WordPress Developers

sass-lang.com

Sass on the Web

Page 7: Intro to Sass for WordPress Developers

Sass Basics

Sass is a CSS pre-processor, outputs .CSS from .SCSS file

Sass is a Ruby “Gem” or Application

Gems need to be installed once on your computer

World of pre-made additions (mixins) and other resources

Two flavors: .SCSS (Sassy CSS) & .SASS

.SCSS most closely resembles .CSS in syntax

Page 8: Intro to Sass for WordPress Developers

“Getting Started with Sass and Compass”

thesassway.com/beginner/getting-started-with-sass-and-compass

by Adam Stacoviak

Page 9: Intro to Sass for WordPress Developers

Sassmeister.com

Try Sass Yourself!

Page 10: Intro to Sass for WordPress Developers

Why is Sass better?Backwards Compatible with all versions CSS

Fills holes in CSS: variables to represent values

Calculates values: colors, lengths

Bubbles up: Media Queries can be written within their element

Supports Advanced Logic/if..then, while, else, etc.

Adopted by WordPress Core team & GPL Compatible*

* Reference: http://wptavern.com/wordpress-core-adopts-sass-css-preprocessor

Page 11: Intro to Sass for WordPress Developers

How is Sass More Efficient?

When writing code: DRY Don’t Repeat Yourself!

Reduces HTTP requests with multiple stylesheets @import

Helps you write more advanced code faster

Cleaner, easier to read once you are familiar

Using variables, make site-wide changes in fewer places

Different output styles can be chosen depending on goals

Page 12: Intro to Sass for WordPress Developers

Different Output Styles

Nested (default)

Expanded (closest to hand-crafted CSS)

Compact (saves space)

Compressed (saves most space, minified)

Output style can be specified in your config.rb

Page 13: Intro to Sass for WordPress Developers

Different Output Styles

Expanded, Nested, Compact, Compressed

Preference can be specified in your config.rb

Page 14: Intro to Sass for WordPress Developers

Example config.rb

Page 15: Intro to Sass for WordPress Developers

Rename your .css file with an .scss extension to get started

Are Sass Files Hard to Create?

Page 16: Intro to Sass for WordPress Developers

Compiling Your Sass

Issue the “compass watch” command in your project directory through Terminal or Command Prompt

When you save changes, the .CSS is automatically compiled

Adjust the values in your config.rb file as necessary to get desired output

Page 17: Intro to Sass for WordPress Developers

Will it affect my workflow?

After initial setup, development is easier than before

Page 18: Intro to Sass for WordPress Developers

Where Can I Get Sassified WordPress Starter Themes?

All the cool kids are making starter themes from Underscores, Sass & different responsive grid systems,

Here’s a few that I like, but feel free to explore!

Page 19: Intro to Sass for WordPress Developers

“Underscores” WordPress Theme by Automattic

http://underscores.me/

Page 20: Intro to Sass for WordPress Developers

“Heisenberg” WordPress Theme by Zeek Interactive

https://github.com/ZeekInteractive/heisenberg

Page 21: Intro to Sass for WordPress Developers

“Some Like it Neat” WordPress Theme by DigiSavvy

https://github.com/digisavvy/some-like-it-neat

Page 22: Intro to Sass for WordPress Developers

“WD_S” WordPress Theme by WebDevStudios

https://github.com/webdevstudios/wd_s

Page 23: Intro to Sass for WordPress Developers

“Roll Your Own” by You!

Simplest most obvious solution is best

Share your hard work on Github

Page 24: Intro to Sass for WordPress Developers

Alrighty…Ready for some .SCSS

Sassy CSS Code?

Page 25: Intro to Sass for WordPress Developers

Alrighty…Ready for some .SCSS

Sassy CSS Code?

Page 26: Intro to Sass for WordPress Developers

Comments in Sass

Page 27: Intro to Sass for WordPress Developers

_partials.scssPartials are files that exist only as a fragment to be used in another file

Partials are not complete by themselves, but they help you modularize your code

Partials can be included in elaborate folder structures

Begins with an _ and end with .scss

Drop your partial folder on Sublime to open the folder - time saver!

Page 28: Intro to Sass for WordPress Developers

Working with Partials in Sublime

Page 29: Intro to Sass for WordPress Developers

@importModularize your CSS into separate pages or partials

Re-use your favorite mixins on all of your projects

Compiled into one .css file at end

Fewer HTTP requests - performance!

Import others’ mixins and use them

Page 30: Intro to Sass for WordPress Developers

@import

Page 31: Intro to Sass for WordPress Developers

Nesting All The Things

Repeated selectors are nested inside curly braces

& is a placeholder for the parent selector

Namespaces can also be nested, ie font, background

Compiled CSS will always be more verbose

Page 32: Intro to Sass for WordPress Developers

Nesting Selectors

Page 33: Intro to Sass for WordPress Developers

Nesting Namespaces

Page 34: Intro to Sass for WordPress Developers

$variablesFinally! Variables for CSS!

Declare in your .SCSS file like $name: value;

Call by $name in your CSS

Ability to change variables in one place and use everywhere

Useful for defining colors in color palette, font stacks, grid systems

Don’t forget 140 color names in CSS3! (Google it)

Page 35: Intro to Sass for WordPress Developers

$variables

Page 36: Intro to Sass for WordPress Developers

@mixinFinally! Macros for CSS!

Re-usable blocks of styles

Define with @mixin declaration

Call with @include

Useful for CSS3 Vendor Prefixes

Powerful with arguments

Many pre-made mixins you can use in community

Compass, Bourbon, GitHub, Your Own Library

Page 37: Intro to Sass for WordPress Developers

@mixin

Page 38: Intro to Sass for WordPress Developers

@mixin with Arguments

Page 39: Intro to Sass for WordPress Developers

darken, lighten, adjust-hue, saturate, desaturate, invert, compliment, etc.

Full list at: http://sass-lang.com/documentation/Sass/Script/Functions.html

Hexidecimal # is calculated & output in final CSS

Sass Color Functions

Page 40: Intro to Sass for WordPress Developers

http://sassme.arc90.com/

Sass Color Functions

Page 41: Intro to Sass for WordPress Developers

http://jackiebalzer.com/color

Sass Color Functions

Page 42: Intro to Sass for WordPress Developers

Sass Color Functions

Page 43: Intro to Sass for WordPress Developers

mashable.com/2013/06/11/sass-compass-tools

Other Resources

Page 44: Intro to Sass for WordPress Developers

So…Who is going to

experiment with Sass?

Page 45: Intro to Sass for WordPress Developers

Thank you to SiteGround!

Highly Recommended Web Hosting for WordPress

Page 46: Intro to Sass for WordPress Developers

Q & A

Any Questions?

Page 47: Intro to Sass for WordPress Developers

Thank you for being here!

Suzette Franck Twitter: @suzette_franck

linkedin & speakerdeck & slideshare