SlideShare a Scribd company logo
SassConf 2013

Managing Complex
Projects with Design
Components
John Albin Wilkins
@JohnAlbin
SassConf 2013

John Albin Wilkins
@JohnAlbin
Free Gifts From Me
★ Zen Grids
http://zengrids.com
★ Normalize.css for Sass/Compass
http://bit.ly/normalize-with-compass
★ Succinct theme for Colloquy (IRC for Mac)
https://github.com/JohnAlbin/succinct-for-colloquy
★ git-svn-migrate
http://john.albin.net/git/git-svn-migrate
★ Zen theme for Drupal
https://drupal.org/project/zen
Introduction to
Sass and Compass
O’Reilly

Due in Winter
2013
May contain
Lemurs.
Building Sites Outside-In
CSS
Specificity Wars
CSS
Specificity Wars
.menu .item a:link {}
.sidebar .menu .item a:link {}
.page-37 .sidebar .menu
.item a:link {}
CSS
Specificity Wars
.menu .item a:link {
.sidebar & {
.page-37 & {}
}
}
Seemed like a good idea
at the time.
         Nicolas Gallagher
“Are you new to front-end
 web development?
 Here’s a secret:
 no one else really knows
 what they’re doing either.”
— @necolas
What are Design
Components?
★ “Component” is the same as…
★ “Object” in OOCSS
★ “Module” in SMACSS
★ “Block” in BEM’s BlockElement-Modifier
★ “UI Pattern”
Goals of Design
Components
★ Reduce specificity
★ Reduce applicability /
control the cascade
File organization =
first 3 SMACSS Layers
Simple Folder Structure
styles.scss
Putting all components
in one folder means it
is ridiculously easy to
find components.
★ Inspect the DOM.
★ Find the class on the
design component.
★ Look for a file with that
name in the components
folder.
A simple
component
and a
variant
(all in one file)
A component with sub-parts

.feature
A component with sub-parts
A SMACSS “state”
The “fugly” selector hack
Selector in DOM
I couldn’t change
Class name I wish
I could use in DOM
On the meaning of
semantics
On the meaning of
semantics
.omnomnomnom
is more semantic then
.blaaagh
On the meaning of
semantics
★ Content semantics
is handled by HTML5 elements
★ Design semantics
is handled by class names
Thank you!
Follow me on the Twitterz.
@JohnAlbin

More Related Content

PDF
3rd party
PDF
Third-Party Libraries — Adam Klein
PDF
Web components
PDF
Decoupling the Front-end with Modular CSS
PDF
Intro to OOCSS Workshop
PDF
Object-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSS
PDF
DrupalSouth 2014: Managing Complex Projects with Design Components
PDF
Nové CSS vlastnosti pro rok 2022 a jak je využít
3rd party
Third-Party Libraries — Adam Klein
Web components
Decoupling the Front-end with Modular CSS
Intro to OOCSS Workshop
Object-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSS
DrupalSouth 2014: Managing Complex Projects with Design Components
Nové CSS vlastnosti pro rok 2022 a jak je využít

Similar to SassConf: Managing Complex Projects with Design Components (20)

PDF
Hybrid Apps with Ionic Framework
PPT
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 Theme
PPTX
Sitecore 10 XC SXA frontend development using the SXA Storefront Branded
PDF
Managing Complex Projects with Design Components - Drupalcon Austin 2014
PPTX
Richard Bullington-McGuire - Freezing Saddles Open Source DC Winter cycling g...
PDF
That's (g)it! par Sébastien Dawans CETIC
PDF
パフォーマンスから考えるSass/Compassの導入・運用
PDF
Advanced Front End Architecture in D8: Sass, Gulp, & Living Style Guides
PDF
Death of a Themer
PDF
EnterJS 2015 - Continuous Integration for Frontend Code
PPTX
20150317 firefox os_studymtg_engver
PPTX
How to Build a Bespoke Page Builder in WordPress
PDF
2017 03-29-elastic-meetup-kibana
PDF
A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....
PDF
Ways to keep it fun with Hyva Themes, Alex Galdin - Pro Magento Meetup #10
PDF
Crazy sassy
PDF
새로운 웹 스타일링, 안 본 사람 없게 해주세요
PDF
"Our BDDs are broken!" Lean Agile Exchange 2020
PDF
Angularjs practical project experiences with javascript development in a bank
PDF
CSS Grid Changes Everything - Keynote at WebCamp Zagreb 2017
Hybrid Apps with Ionic Framework
Creating Responsive Drupal Sites with Zen Grids and the Zen 5 Theme
Sitecore 10 XC SXA frontend development using the SXA Storefront Branded
Managing Complex Projects with Design Components - Drupalcon Austin 2014
Richard Bullington-McGuire - Freezing Saddles Open Source DC Winter cycling g...
That's (g)it! par Sébastien Dawans CETIC
パフォーマンスから考えるSass/Compassの導入・運用
Advanced Front End Architecture in D8: Sass, Gulp, & Living Style Guides
Death of a Themer
EnterJS 2015 - Continuous Integration for Frontend Code
20150317 firefox os_studymtg_engver
How to Build a Bespoke Page Builder in WordPress
2017 03-29-elastic-meetup-kibana
A Responsive Design Case Study - What We Did Wrong Building ResponsiveDesign....
Ways to keep it fun with Hyva Themes, Alex Galdin - Pro Magento Meetup #10
Crazy sassy
새로운 웹 스타일링, 안 본 사람 없게 해주세요
"Our BDDs are broken!" Lean Agile Exchange 2020
Angularjs practical project experiences with javascript development in a bank
CSS Grid Changes Everything - Keynote at WebCamp Zagreb 2017
Ad

More from John Albin Wilkins (19)

PDF
Using the CSS Nesting Spec Today
PDF
The Drupal Roadmap: From D7 to D9
PDF
Mastering Drupal 8’s Twig
PDF
CSS-in-JS: unexpected lessons for Drupal component design
PDF
Style Guide Driven Development: All Hail the Robot Overlords!
PDF
Styleguide-Driven Development: The New Web Development
PDF
Drupal Camp Taipei Keynote
PDF
Become an IA superstar (Chinese version)
PDF
Mobile drupal: building a mobile theme
KEY
Sass: CSS with Attitude
KEY
Mastering zen
PDF
Drupal and the Future of the Web
PDF
What's new in D7 Theming?
PDF
Default theme implementations: a guide for module developers that want sweet ...
PDF
Rocking the Theme Layer
PDF
Drupal Design Tips
PDF
New Adventures in Drupal Theming
PDF
Nanocon Taiwan
PPT
Making Drupal Dance: Techniques for Non-obvious Theme Manipulations
Using the CSS Nesting Spec Today
The Drupal Roadmap: From D7 to D9
Mastering Drupal 8’s Twig
CSS-in-JS: unexpected lessons for Drupal component design
Style Guide Driven Development: All Hail the Robot Overlords!
Styleguide-Driven Development: The New Web Development
Drupal Camp Taipei Keynote
Become an IA superstar (Chinese version)
Mobile drupal: building a mobile theme
Sass: CSS with Attitude
Mastering zen
Drupal and the Future of the Web
What's new in D7 Theming?
Default theme implementations: a guide for module developers that want sweet ...
Rocking the Theme Layer
Drupal Design Tips
New Adventures in Drupal Theming
Nanocon Taiwan
Making Drupal Dance: Techniques for Non-obvious Theme Manipulations
Ad

Recently uploaded (20)

PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
Teaching material agriculture food technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
A Presentation on Artificial Intelligence
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
CIFDAQ's Market Insight: SEC Turns Pro Crypto
NewMind AI Weekly Chronicles - August'25 Week I
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
20250228 LYD VKU AI Blended-Learning.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Encapsulation_ Review paper, used for researhc scholars
Dropbox Q2 2025 Financial Results & Investor Presentation
The Rise and Fall of 3GPP – Time for a Sabbatical?
“AI and Expert System Decision Support & Business Intelligence Systems”
Unlocking AI with Model Context Protocol (MCP)
Teaching material agriculture food technology
The AUB Centre for AI in Media Proposal.docx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
A Presentation on Artificial Intelligence
Understanding_Digital_Forensics_Presentation.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
NewMind AI Monthly Chronicles - July 2025
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy

SassConf: Managing Complex Projects with Design Components