16
SMACSS

Smacss

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Smacss

SMACSS

Page 2: Smacss

Scalable to…

• Large projects• Large teams•Multiple projects

Page 3: Smacss

Modular

Use concepts to simplify CSS and rethink how we code

Page 4: Smacss

Categorization

Thinking about the role that a piece of code plays

Page 5: Smacss

Naming Convention

Clarifying the intent via a consistent clear selector name.

#navigation ul li span{ background-image: url(‘arrow.png’); color: #CCC; padding-left: 16px;}

.nav-arrow{ background-image: url(‘arrow.png’); padding-left: 16px;}.muted-text{ color: #CCC;}

Page 6: Smacss

Scaling CSS for large applications

Base

Layout

Module

State

Theme

Page 7: Smacss

a{ color: #039;}a:hover{ color: #03F;}

Base

html,body{ margin: 0; padding: 0;}input[type='text']{ border: 1px solid #999;}

Or, use a pre-made one!http://necolas.github.com/normalize.css/

Page 8: Smacss

Layout

body{ width: 960px; margin: 0 auto;}#sidebar{ width: 160px;}#content{ width: 760px;}

#sidebar,#content{ float: left; padding: 10px;}#footer{ clear: both;}

Or, use a pre-made one!http://960.gs/http://blueprintcss.org/http://twitter.github.com/bootstrap/

Page 9: Smacss

ModuleHeader

Primary Navigation

Secondary Navigation

Primary/FeaturedContent

Tertiary Content

Secondary Content

Page 10: Smacss

Feature Feature Feature

Feature Feature FeatureList

Page 11: Smacss

Modules

• <span> and <div> are container that have no meaning.• <img>, <p>, <header>, <footer>

have some semantic meaning• A well named CSS class has even

more meaning

Page 12: Smacss

Modules

<div class="folder"> <span>My Folder</span></div><div class="folder"> <span>Another Folder</span></div>

.folder > span{ padding-left: 20px; background: url('icon.png');}

Page 13: Smacss

Modules

<div class="folder"> <span>My Folder</span> <span>(31 items)</span></div><div class="folder"> <span>Another Folder</span> <span>(17 items)</span></div>

.folder > span{ padding-left: 20px; background: url('icon.png');}

Page 14: Smacss

Modules

<div class="folder"> <span class="folder-name">My Folder</span> <span class="folder-items">(31 items)</span></div><div class="folder"> <span class="folder-name">Another Folder</span> <span class="folder-items">(17 items)</span></div>

.folder-name{ padding-left: 20px; background: url('icon.png');}.folder-items{ color: #999;}

Page 15: Smacss

Modules

•Be Specific•Be Meaningful

Page 16: Smacss

Resources

• Smacss.com• AppRiver Library Book (at my desk)