SlideShare ist ein Scribd-Unternehmen logo
1 von 93
Downloaden Sie, um offline zu lesen
TACTICAL
HTML & CSS
MODULAR
HTML & CSS
TURBO WORKSHOP
Shay Howe
@shayhowe
learn.shayhowe.com
Darby Frey
@darbyfrey
darbyfrey.com
@shayhowe & @darbyfreyModular HTML & CSS
Shay Howe
@shayhowe
learn.shayhowe.com
Darby Frey
@darbyfrey
darbyfrey.com
@shayhowe & @darbyfreyModular HTML & CSS
1. The Problem
2. Groundwork
3. Assembling Layout
4. Accommodating Content
5. Turbo with SCSS
6. Onward
OUR SCHEDULE
@shayhowe & @darbyfreyModular HTML & CSS
THE
PROBLEM
The Gust by Willem van de Velde the Younger
@shayhowe & @darbyfreyModular HTML & CSS
COMMON PROBLEMS
• Websites have difficulty scaling
• Code becomes brittle
• Files and code bases begin to swell
@shayhowe & @darbyfreyModular HTML & CSS
WHAT’S WRONG
• Best practices aren’t exactly best practices
• Standards need to evolve
@shayhowe & @darbyfreyModular HTML & CSS
BEST BAD PRACTICES
• Avoid extra elements
• Avoid classes
• Leverage type selectors
• Leverage descendent selectors
@shayhowe & @darbyfreyModular HTML & CSS
BEST BAD PRACTICES
Avoiding classes
section	
  ul#nav	
  li	
  {...}
section:nth-­‐child(2)	
  div:nth-­‐child(7)	
  >	
  a	
  {...}
Leveraging selectors
a.btn	
  {...}
#main	
  a.btn	
  {...}
#main	
  div.feature	
  a.btn	
  {...}
@shayhowe & @darbyfreyModular HTML & CSS
BEST BAD PRACTICES
Bad
#contact	
  li:nth-­‐child(1)	
  input,
#contact	
  li:nth-­‐child(2)	
  input	
  {
	
  	
  width:	
  160px;
}
#contact	
  li:nth-­‐child(3)	
  textarea	
  {
	
  	
  width:	
  280px;
}
@shayhowe & @darbyfreyModular HTML & CSS
BEST BAD PRACTICES
Good
.col-­‐1	
  {
	
  	
  width:	
  160px;
}
.col-­‐2	
  {
	
  	
  width:	
  280px;
}
@shayhowe & @darbyfreyModular HTML & CSS
SPECIFICITY?
• Specificity determines which styles are applied
• Each selector has a specificity weight
• High specificity beats low specificity
• Low specificity is key
@shayhowe & @darbyfreyModular HTML & CSS
MEASURING SPECIFICITY
Formula
• IDs, Classes/Pseudo-classes/Attributes, Elements
High Specificity (Bad)
#primary	
  #main	
  div.gallery	
  figure.media
IDs: 2, Classes: 2, Elements: 2 — Compiled: 2–2–2
Low Specificity (Good)
.gallery-­‐media
IDs: 0, Classes: 1, Elements: 0 — Compiled: 0–1–0
@shayhowe & @darbyfreyModular HTML & CSS
@shayhowe & @darbyfreyModular HTML & CSS
WATCH SPECIFICITY
• Be explicit
• Keep specificity low
• Never use IDs or !important
• Avoid nested selectors (#main	
  .spotlight	
  strong	
  span)
@shayhowe & @darbyfreyModular HTML & CSS
WATCH SPECIFICITY
Bad
#primary	
  #main	
  div.gallery	
  {
	
  	
  text-­‐transform:	
  uppercase;
}
#primary	
  #main	
  div.gallery	
  figure.media	
  {
	
  	
  background:	
  #ccc;
}
@shayhowe & @darbyfreyModular HTML & CSS
WATCH SPECIFICITY
Good
.gallery	
  {
	
  	
  text-­‐transform:	
  uppercase;
}
.gallery-­‐media	
  {
	
  	
  background:	
  #ccc;
}
Parade of the Black Sea Fleet by Ivan Aivazovsky
@shayhowe & @darbyfreyModular HTML & CSS
MAINTAINABILITY
Code must be...
• Organized
• Modular
• Performant
@shayhowe & @darbyfreyModular HTML & CSS
METHODOLOGIES
OOCSS
• Object-Oriented CSS
From Nicole Sullivan – oocss.org
SMACSS
• Scalable and Modular Architecture for CSS
From Jonathan Snook – smacss.com
@shayhowe & @darbyfreyModular HTML & CSS
GROUNDWORK
@shayhowe & @darbyfreyModular HTML & CSS
REUSE CODE
• Do not duplicate code
• Remove old code
• Defer loading subsequent styles
@shayhowe & @darbyfreyModular HTML & CSS
REUSE CODE
Bad
.news	
  {
	
  	
  background:	
  #eee;
	
  	
  color:	
  #666;
}
.social	
  {
	
  	
  background:	
  #eee;
	
  	
  color:	
  #666;
}
@shayhowe & @darbyfreyModular HTML & CSS
REUSE CODE
Good
.news,
.social	
  {
	
  	
  background:	
  #eee;
	
  	
  color:	
  #666;
}
Better
.feat-­‐box	
  {
	
  	
  background:	
  #eee;
	
  	
  color:	
  #666;
}
@shayhowe & @darbyfreyModular HTML & CSS
USE CLASSES
• Write understandable class names
• Avoid unnecessary nesting
• Use same strength specificity
@shayhowe & @darbyfreyModular HTML & CSS
USE CLASSES
Bad
.feat-­‐box	
  .callout	
  .pr	
  {
	
  	
  font-­‐size:	
  12px;
}
.feat-­‐box	
  .callout	
  .pr	
  .un	
  {
	
  	
  color:	
  #39f;
}
@shayhowe & @darbyfreyModular HTML & CSS
USE CLASSES
Good
.feat-­‐box	
  .price	
  {
	
  	
  font-­‐size:	
  12px;
}
.feat-­‐box	
  .unit	
  {
	
  	
  color:	
  #39f;
}
@shayhowe & @darbyfreyModular HTML & CSS
USE CLASSES
Bad
.btn.large	
  {
	
  	
  font-­‐size:	
  24px;	
  	
  
	
  	
  padding:	
  15px	
  30px;
}
<div	
  class="btn	
  large">...</div>
@shayhowe & @darbyfreyModular HTML & CSS
USE CLASSES
Good
.btn-­‐large	
  {
	
  	
  font-­‐size:	
  24px;
	
  	
  padding:	
  15px	
  30px;
}
<div	
  class="btn-­‐large">...</div>
@shayhowe & @darbyfreyModular HTML & CSS
ASSEMBLING
LAYOUT
@shayhowe & @darbyfreyModular HTML & CSS
ABSTRACT STRUCTURE
• Separate presentation (or theme) from layout
• Create an object layer for layout
• Create a skin layer for theme
• Use a grid
@shayhowe & @darbyfreyModular HTML & CSS
ABSTRACT STRUCTURE
Bad
.news	
  {
	
  	
  background:	
  #eee;
	
  	
  color:	
  #666;
	
  	
  margin:	
  0	
  10px;
	
  	
  width:	
  400px;
}
<div	
  class="news">...</div>
@shayhowe & @darbyfreyModular HTML & CSS
ABSTRACT STRUCTURE
Good
.grid-­‐4	
  {
	
  	
  margin:	
  0	
  10px;
	
  	
  width:	
  400px;
}
.feat-­‐box	
  {
	
  	
  background:	
  #eee;
	
  	
  color:	
  #666;
}
<div	
  class="grid-­‐4	
  feat-­‐box">...</div>
@shayhowe & @darbyfreyModular HTML & CSS
TRANSPARENTIZE ELEMENTS
• Stylize elements to be transparent
• Keep visual properties apart from layout
properties
@shayhowe & @darbyfreyModular HTML & CSS
TRANSPARENTIZE ELEMENTS
Bad
.pagination	
  {
	
  	
  border-­‐radius:	
  5px;
	
  	
  border:	
  1px	
  solid	
  #eee;
	
  	
  margin:	
  0	
  10px;
	
  	
  width:	
  620px;
}
<ul	
  class="pagination">...</ul>
@shayhowe & @darbyfreyModular HTML & CSS
TRANSPARENTIZE ELEMENTS
Good
.grid-­‐8	
  {
	
  	
  margin:	
  0	
  10px;
	
  	
  width:	
  620px;
}
.offset-­‐box	
  {
	
  	
  border-­‐radius:	
  5px;
	
  	
  border:	
  1px	
  solid	
  #eee;
}
<ul	
  class="grid-­‐8	
  offset-­‐box">...</ul>
@shayhowe & @darbyfreyModular HTML & CSS
CREATE ADAPTABLE LAYOUTS
• Height and width should be flexible
• Height should extend with content
• Width should extend with a grid
@shayhowe & @darbyfreyModular HTML & CSS
CREATE ADAPTABLE LAYOUTS
Bad
#main	
  {
	
  	
  float:	
  left;
	
  	
  margin:	
  0	
  10px;
	
  	
  width:	
  620px;
}
#aside	
  {
	
  	
  float:	
  left;
	
  	
  margin:	
  0	
  10px;
	
  	
  width:	
  300px;
}
@shayhowe & @darbyfreyModular HTML & CSS
CREATE ADAPTABLE LAYOUTS
Good
.grid-­‐4,
.grid-­‐8	
  {
	
  	
  float:	
  left;
	
  	
  margin:	
  0	
  10px;
}
.grid-­‐4	
  {
	
  	
  width:	
  300px;
}
.grid-­‐8	
  {
	
  	
  width:	
  620px;
}
@shayhowe & @darbyfreyModular HTML & CSS
ASSEMBLING LAYOUT
IN PRACTICE
http://bit.ly/modular-html-css
@shayhowe & @darbyfreyModular HTML & CSS
ACCOMMODATING
CONTENT
@shayhowe & @darbyfreyModular HTML & CSS
SEPARATE CONTENT
• Separate content from container
• Stylize content regardless of container
@shayhowe & @darbyfreyModular HTML & CSS
SEPARATE CONTENT
Bad
.alert	
  {
	
  	
  background:	
  #f2dede;
	
  	
  border-­‐radius:	
  10px;
	
  	
  color:	
  #b94a48;
	
  	
  padding:	
  10px	
  20px;
}
<div	
  class="alert">...</div>
@shayhowe & @darbyfreyModular HTML & CSS
SEPARATE CONTENT
Good
.alert	
  {
	
  	
  border-­‐radius:	
  10px;
	
  	
  padding:	
  10px	
  20px;
}
.alert-­‐error	
  {
	
  	
  background:	
  #f2dede;
	
  	
  color:	
  #b94a48;
}
<div	
  class="alert	
  alert-­‐error">...</div>
@shayhowe & @darbyfreyModular HTML & CSS
AVOID PARENT DEPENDENCY
• Remove parent container dependency
• Decouple CSS from HTML
• Create components to be used anywhere
@shayhowe & @darbyfreyModular HTML & CSS
AVOID PARENT DEPENDENCY
Bad
.feat-­‐box	
  {
	
  	
  background:	
  #eee;
}
article	
  .feat-­‐box	
  {
	
  	
  background:	
  #fff;
}
<article>
	
  	
  <div	
  class="feat-­‐box">...</div>
</article>
@shayhowe & @darbyfreyModular HTML & CSS
AVOID PARENT DEPENDENCY
Good
.feat-­‐box	
  {
	
  	
  background:	
  #eee;
}
.feat-­‐box-­‐alt	
  {
	
  	
  background:	
  #fff;
}
<article>
	
  	
  <div	
  class="feat-­‐box-­‐alt">...</div>
</article>
@shayhowe & @darbyfreyModular HTML & CSS
FAVOR SEMANTICS
• Allow elements to adapt
• Uses individual classes to extend modules
@shayhowe & @darbyfreyModular HTML & CSS
FAVOR SEMANTICS
Bad
.feat-­‐box	
  h2	
  {
	
  	
  color:	
  #f60;
	
  	
  font:	
  18px	
  Helvetica,	
  sans-­‐serif;
}
<div	
  class="feat-­‐box">
	
  	
  <h2>...</h2>
</div>
@shayhowe & @darbyfreyModular HTML & CSS
FAVOR SEMANTICS
Good
.feat-­‐subhead	
  {
	
  	
  color:	
  #f60;
	
  	
  font:	
  18px	
  Helvetica,	
  sans-­‐serif;
}
<div	
  class="feat-­‐box">
	
  	
  <h2	
  class="feat-­‐subhead">...</h2>
</div>
@shayhowe & @darbyfreyModular HTML & CSS
ACCOMMODATING CONTENT
IN PRACTICE
http://bit.ly/modular-html-css
@shayhowe & @darbyfreyModular HTML & CSS
TURBO
WITH SCSS
@shayhowe & @darbyfreyModular HTML & CSS
SETUP
@shayhowe & @darbyfreyModular HTML & CSS
SCSS
• CSS preprocessor
• Extension of CSS3
• Compiled using Ruby
• Adds nested rules, variables, mixins, selector
inheritance, and more
@shayhowe & @darbyfreyModular HTML & CSS
SCSS
SCSS Syntax
.new	
  {
	
  	
  color:	
  #f60;
	
  	
  .item	
  {
	
  	
  	
  	
  font-­‐size:	
  24px;
	
  	
  }
}
Compiled CSS
.new	
  {
	
  	
  color:	
  #f60;
}
.new	
  .item	
  {
	
  	
  font-­‐size:	
  24px;
}
@shayhowe & @darbyfreyModular HTML & CSS
SCSS VS. SASS
SCSS Syntax
.new	
  {
	
  	
  color:	
  #f60;
	
  	
  .item	
  {
	
  	
  	
  	
  font-­‐size:	
  24px;
	
  	
  }
}
Sass Syntax
.new
	
  	
  color:	
  #f60
	
  	
  .item
	
  	
  	
  	
  font-­‐size:	
  24px
@shayhowe & @darbyfreyModular HTML & CSS
COMPASS
• Built on top of Sass
• Includes reusable patterns
• Provides cross browser CSS3 mixins
@shayhowe & @darbyfreyModular HTML & CSS
SCOUT APP
• GUI for compiling Sass and Compass
• Available for both Mac and Windows
@shayhowe & @darbyfreyModular HTML & CSS
SETUP
IN PRACTICE
http://bit.ly/modular-html-css
@shayhowe & @darbyfreyModular HTML & CSS
ORGANIZATION
@shayhowe & @darbyfreyModular HTML & CSS
TECHNIQUE
Settings
• Utility styles (Extends, Mixins, Variables)
Base
• Core styles for entire site (Layout, Typography)
Components
• UI concepts & design patterns (Buttons, List, Navigation)
Modules
• Business logic (Aside, Header, Footer)
@shayhowe & @darbyfreyModular HTML & CSS
TECHNIQUE
@shayhowe & @darbyfreyModular HTML & CSS
PARTIALS
• Must begin with an underscore, _
• Must have a file extension of .scss, not .css.scss
@shayhowe & @darbyfreyModular HTML & CSS
IMPORTS
workshop.css.scss
//	
  Compass
@import	
  "compass/css3";
//	
  Settings
@import	
  "settings/variables";
//	
  Base
@import	
  "base/layout";
...
@shayhowe & @darbyfreyModular HTML & CSS
ORGANIZATION
IN PRACTICE
http://bit.ly/modular-html-css
@shayhowe & @darbyfreyModular HTML & CSS
SETTINGS
@shayhowe & @darbyfreyModular HTML & CSS
VARIABLES
• Allow common values to be shared
• Assigned with a dollar sign, name, colon, and value
• May be a number, string, boolean, null, or multiple
comma separated values
@shayhowe & @darbyfreyModular HTML & CSS
VARIABLES
SCSS Syntax
$font-­‐base:	
  14px;
$sans-­‐serif:	
  "Open	
  Sans",	
  sans-­‐serif;
p	
  {
	
  	
  font:	
  $font-­‐base	
  $sans-­‐serif;
}
Compiled CSS
p	
  {
	
  	
  font:	
  14px	
  "Open	
  Sans",	
  sans-­‐serif;
}
@shayhowe & @darbyfreyModular HTML & CSS
EXTENDS
• Share common styles without duplicating them
• Keep code weight low
• Generates detailed selectors
• Assigned with the @extend	
  rule followed by the
selector
@shayhowe & @darbyfreyModular HTML & CSS
EXTENDS
SCSS Syntax
.alert	
  {
	
  	
  border-­‐radius:	
  10px;
}
.alert-­‐error	
  {
	
  	
  @extend	
  .alert;
	
  	
  color:	
  #b94a48;
}
.alert-­‐success	
  {
	
  	
  @extend	
  .alert;
	
  	
  color:	
  #468847;
}
Compiled CSS
.alert,
.alert-­‐error,
.alert-­‐success	
  {
	
  	
  border-­‐radius:	
  10px;
}
.alert-­‐error	
  {
	
  	
  color:	
  #b94a48;
}
.alert-­‐success	
  {
	
  	
  color:	
  #468847;
}
@shayhowe & @darbyfreyModular HTML & CSS
PLACEHOLDERS
• Similar to extends
• Selector is assigned with a percentage sign
• Extended selector is not output, only the styles
@shayhowe & @darbyfreyModular HTML & CSS
PLACEHOLDERS
SCSS Syntax
%alert	
  {
	
  	
  border-­‐radius:	
  10px;
}
.alert-­‐error	
  {
	
  	
  @extend	
  %alert;
	
  	
  color:	
  #b94a48;
}
.alert-­‐success	
  {
	
  	
  @extend	
  %alert;
	
  	
  color:	
  #468847;
}
Compiled CSS
.alert-­‐error,
.alert-­‐success	
  {
	
  	
  border-­‐radius:	
  10px;
}
.alert-­‐error	
  {
	
  	
  color:	
  #b94a48;
}
.alert-­‐success	
  {
	
  	
  color:	
  #468847;
}
@shayhowe & @darbyfreyModular HTML & CSS
MIXINS
• Share similar styles based off given arguments
• Duplicates properties, providing different values
• Assigned with the @mixin	
  rule followed by the
name and arguments
@shayhowe & @darbyfreyModular HTML & CSS
MIXINS
SCSS Syntax
@mixin	
  btn($color)	
  {	
  
	
  	
  color:	
  $color;
}
.btn	
  {
	
  	
  @mixin	
  btn(#f60);
}
Compiled CSS
.btn	
  {
	
  	
  color:	
  #f60;
}
@shayhowe & @darbyfreyModular HTML & CSS
SETTINGS
IN PRACTICE
http://bit.ly/modular-html-css
@shayhowe & @darbyfreyModular HTML & CSS
REFACTOR
@shayhowe & @darbyfreyModular HTML & CSS
COMMENTS
• Two different types of comments
• Standard CSS comments as normal
• Silent comments, assigned with two forward
slashes, not compiled in the output
@shayhowe & @darbyfreyModular HTML & CSS
COMMENTS
SCSS Syntax
/*	
  Normal	
  comment	
  */
.awesome	
  {
	
  	
  color:	
  #3276b1;
}
//	
  Omitted	
  comment
.very-­‐awesome	
  {
	
  	
  color:	
  #47a447;
}
Compiled CSS
/*	
  Normal	
  comment	
  */
.awesome	
  {
	
  	
  color:	
  #3276b1;
}
.very-­‐awesome	
  {
	
  	
  color:	
  #47a447;
}
@shayhowe & @darbyfreyModular HTML & CSS
PARENT SELECTOR
• Add styles to a previous selector
• Commonly used with pseudo classes
• Assigned with an ampersand
• May also be used as the key selector
@shayhowe & @darbyfreyModular HTML & CSS
PARENT SELECTOR
SCSS Syntax
a	
  {
	
  	
  color:	
  #8ec63f;
	
  	
  &:hover	
  {
	
  	
  	
  	
  color:	
  #f7941d;
	
  	
  }
}
Compiled CSS
a	
  {
	
  	
  color:	
  #8ec63f;
}
a:hover	
  {
	
  	
  color:	
  #f7941d;
}
@shayhowe & @darbyfreyModular HTML & CSS
INTERPOLATION
• Occasionally SCSS need to be interpolated
• Most commonly happens as part of a class name,
property name, or inside a string plain text
• Assigned by placing the value inside #{...}
@shayhowe & @darbyfreyModular HTML & CSS
INTERPOLATION
SCSS Syntax
$logo:	
  twitter;
$offset:	
  left;
.#{$logo}	
  {
	
  	
  #{$offset}:	
  20px;
}
Compiled CSS
.twitter	
  {
	
  	
  left:	
  20px;
}
@shayhowe & @darbyfreyModular HTML & CSS
REFACTOR
IN PRACTICE
http://bit.ly/modular-html-css
@shayhowe & @darbyfreyModular HTML & CSS
COMPILE
@shayhowe & @darbyfreyModular HTML & CSS
OUTPUT STYLES
• SCSS has multiple output styles
• Nested or expanded is best for development
• Compact or compressed is best for production
@shayhowe & @darbyfreyModular HTML & CSS
COMPILE
IN PRACTICE
http://bit.ly/modular-html-css
@shayhowe & @darbyfreyModular HTML & CSS
ONWARD
Ships on the Roadstead by Willem van de Velde the Younger
@shayhowe & @darbyfreyModular HTML & CSS
APPROACH
• Stop thinking about pages
• Start thinking about components
• Take visual inventory
@shayhowe & @darbyfreyModular HTML & CSS
THEMES
• Decouple HTML and CSS
• Separate presentation from layout
• Separate content from container
• Extend elements with classes
@shayhowe & @darbyfreyModular HTML & CSS
OUTCOMES
• Maintainability!
• Reusable code, less duplication
• Flexibility and extensibility
• Improved standards
@shayhowe & @darbyfreyModular HTML & CSS
WHAT’S NEXT
Build a style guide
• Twitter Bootstrap, Zurb Foundation
Review methodologies
• OOCSS, SMACSS
Test your code
• CSS Lint, Inspector, PageSpeed
@shayhowe & @darbyfreyModular HTML & CSS
THANK YOU!
Questions?
@shayhowe
@darbyfrey

Weitere ähnliche Inhalte

Was ist angesagt?

Rapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapRapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapJosh Jeffryes
 
Code &amp; design your first website (3:16)
Code &amp; design your first website (3:16)Code &amp; design your first website (3:16)
Code &amp; design your first website (3:16)Thinkful
 
Web 102 INtro to CSS
Web 102  INtro to CSSWeb 102  INtro to CSS
Web 102 INtro to CSSHawkman Academy
 
HTML5, just another presentation :)
HTML5, just another presentation :)HTML5, just another presentation :)
HTML5, just another presentation :)François Massart
 
Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3Todd Zaki Warfel
 
Code & Design your first website 4/18
Code & Design your first website 4/18Code & Design your first website 4/18
Code & Design your first website 4/18TJ Stalcup
 
Html5 public
Html5 publicHtml5 public
Html5 publicdoodlemoonch
 
Blog HTML example for IML 295
Blog HTML example for IML 295Blog HTML example for IML 295
Blog HTML example for IML 295Evan Hughes
 
CSS Frameworks
CSS FrameworksCSS Frameworks
CSS FrameworksMike Crabb
 
The Future Of CSS
The Future Of CSSThe Future Of CSS
The Future Of CSSAndy Budd
 
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892Deepak Sharma
 
CSS pattern libraries
CSS pattern librariesCSS pattern libraries
CSS pattern librariesRuss Weakley
 
Advanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyAdvanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyDenise Jacobs
 
Progressive Prototyping w/HTML5, CSS3 and jQuery
Progressive Prototyping w/HTML5, CSS3 and jQueryProgressive Prototyping w/HTML5, CSS3 and jQuery
Progressive Prototyping w/HTML5, CSS3 and jQueryTodd Zaki Warfel
 
CSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and moreCSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and moreRuss Weakley
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5Terry Ryan
 
HTML/CSS Web Blog Example
HTML/CSS Web Blog ExampleHTML/CSS Web Blog Example
HTML/CSS Web Blog ExampleMichael Bodie
 
Quality Development with CSS3
Quality Development with CSS3Quality Development with CSS3
Quality Development with CSS3Shay Howe
 

Was ist angesagt? (20)

Rapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapRapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with Bootstrap
 
Code &amp; design your first website (3:16)
Code &amp; design your first website (3:16)Code &amp; design your first website (3:16)
Code &amp; design your first website (3:16)
 
Web 102 INtro to CSS
Web 102  INtro to CSSWeb 102  INtro to CSS
Web 102 INtro to CSS
 
HTML5, just another presentation :)
HTML5, just another presentation :)HTML5, just another presentation :)
HTML5, just another presentation :)
 
Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3
 
Code & Design your first website 4/18
Code & Design your first website 4/18Code & Design your first website 4/18
Code & Design your first website 4/18
 
Html5 public
Html5 publicHtml5 public
Html5 public
 
Blog HTML example for IML 295
Blog HTML example for IML 295Blog HTML example for IML 295
Blog HTML example for IML 295
 
CSS Frameworks
CSS FrameworksCSS Frameworks
CSS Frameworks
 
The Future Of CSS
The Future Of CSSThe Future Of CSS
The Future Of CSS
 
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
 
CSS pattern libraries
CSS pattern librariesCSS pattern libraries
CSS pattern libraries
 
Advanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyAdvanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & Efficiency
 
Html5 ux london
Html5 ux londonHtml5 ux london
Html5 ux london
 
Progressive Prototyping w/HTML5, CSS3 and jQuery
Progressive Prototyping w/HTML5, CSS3 and jQueryProgressive Prototyping w/HTML5, CSS3 and jQuery
Progressive Prototyping w/HTML5, CSS3 and jQuery
 
CSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and moreCSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and more
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
 
HTML/CSS Web Blog Example
HTML/CSS Web Blog ExampleHTML/CSS Web Blog Example
HTML/CSS Web Blog Example
 
Intro to CSS
Intro to CSSIntro to CSS
Intro to CSS
 
Quality Development with CSS3
Quality Development with CSS3Quality Development with CSS3
Quality Development with CSS3
 

Andere mochten auch

Tandaa Kenya Moses Kemibaro
Tandaa Kenya  Moses KemibaroTandaa Kenya  Moses Kemibaro
Tandaa Kenya Moses KemibaroMoses Kemibaro
 
Ppt beleidsnota 74 september 2014-de zeven hoofdzonden van overheidsingrijpen...
Ppt beleidsnota 74 september 2014-de zeven hoofdzonden van overheidsingrijpen...Ppt beleidsnota 74 september 2014-de zeven hoofdzonden van overheidsingrijpen...
Ppt beleidsnota 74 september 2014-de zeven hoofdzonden van overheidsingrijpen...ETION
 
anu new resume.resume
anu new resume.resumeanu new resume.resume
anu new resume.resumeanusharani sake
 
Isp Final Gr Presentation
Isp   Final Gr PresentationIsp   Final Gr Presentation
Isp Final Gr PresentationHaonan
 
Cantilever type switch design
Cantilever type switch designCantilever type switch design
Cantilever type switch designeSAT Journals
 
Ondernemen voor een betere wereld
Ondernemen voor een betere wereldOndernemen voor een betere wereld
Ondernemen voor een betere wereldETION
 
1auditconcepts
1auditconcepts1auditconcepts
1auditconceptsShubham Raj
 
Measuring the ROI of Informal Learning - Brandon Hall Group & Docebo
Measuring the ROI of Informal Learning - Brandon Hall Group & DoceboMeasuring the ROI of Informal Learning - Brandon Hall Group & Docebo
Measuring the ROI of Informal Learning - Brandon Hall Group & DoceboDoceboElearning
 
Talk Web Design: Get Ready For CSS Grid Layout
Talk Web Design: Get Ready For CSS Grid LayoutTalk Web Design: Get Ready For CSS Grid Layout
Talk Web Design: Get Ready For CSS Grid LayoutRachel Andrew
 
Practical Malware Analysis: Ch 7: Analyzing Malicious Windows Programs
Practical Malware Analysis: Ch 7: Analyzing Malicious Windows Programs Practical Malware Analysis: Ch 7: Analyzing Malicious Windows Programs
Practical Malware Analysis: Ch 7: Analyzing Malicious Windows Programs Sam Bowne
 
Technology strategy
Technology strategyTechnology strategy
Technology strategyHamid Mazloomi
 
Technology and Innovation Management
Technology and Innovation ManagementTechnology and Innovation Management
Technology and Innovation ManagementJamil AlKhatib
 

Andere mochten auch (15)

Traabajo tics
Traabajo ticsTraabajo tics
Traabajo tics
 
Tandaa Kenya Moses Kemibaro
Tandaa Kenya  Moses KemibaroTandaa Kenya  Moses Kemibaro
Tandaa Kenya Moses Kemibaro
 
Ppt beleidsnota 74 september 2014-de zeven hoofdzonden van overheidsingrijpen...
Ppt beleidsnota 74 september 2014-de zeven hoofdzonden van overheidsingrijpen...Ppt beleidsnota 74 september 2014-de zeven hoofdzonden van overheidsingrijpen...
Ppt beleidsnota 74 september 2014-de zeven hoofdzonden van overheidsingrijpen...
 
Arnold schwarnzenegger
Arnold schwarnzeneggerArnold schwarnzenegger
Arnold schwarnzenegger
 
C4.compressed
C4.compressedC4.compressed
C4.compressed
 
anu new resume.resume
anu new resume.resumeanu new resume.resume
anu new resume.resume
 
Isp Final Gr Presentation
Isp   Final Gr PresentationIsp   Final Gr Presentation
Isp Final Gr Presentation
 
Cantilever type switch design
Cantilever type switch designCantilever type switch design
Cantilever type switch design
 
Ondernemen voor een betere wereld
Ondernemen voor een betere wereldOndernemen voor een betere wereld
Ondernemen voor een betere wereld
 
1auditconcepts
1auditconcepts1auditconcepts
1auditconcepts
 
Measuring the ROI of Informal Learning - Brandon Hall Group & Docebo
Measuring the ROI of Informal Learning - Brandon Hall Group & DoceboMeasuring the ROI of Informal Learning - Brandon Hall Group & Docebo
Measuring the ROI of Informal Learning - Brandon Hall Group & Docebo
 
Talk Web Design: Get Ready For CSS Grid Layout
Talk Web Design: Get Ready For CSS Grid LayoutTalk Web Design: Get Ready For CSS Grid Layout
Talk Web Design: Get Ready For CSS Grid Layout
 
Practical Malware Analysis: Ch 7: Analyzing Malicious Windows Programs
Practical Malware Analysis: Ch 7: Analyzing Malicious Windows Programs Practical Malware Analysis: Ch 7: Analyzing Malicious Windows Programs
Practical Malware Analysis: Ch 7: Analyzing Malicious Windows Programs
 
Technology strategy
Technology strategyTechnology strategy
Technology strategy
 
Technology and Innovation Management
Technology and Innovation ManagementTechnology and Innovation Management
Technology and Innovation Management
 

Ähnlich wie Modular HTML & CSS Turbo Workshop

Modular HTML & CSS Workshop
Modular HTML & CSS WorkshopModular HTML & CSS Workshop
Modular HTML & CSS WorkshopShay Howe
 
Pertemuan 7
Pertemuan 7Pertemuan 7
Pertemuan 7beiharira
 
Source Ordered Templates - - Joomla!Days NL 2009 #jd09nl
Source Ordered Templates - - Joomla!Days NL 2009 #jd09nlSource Ordered Templates - - Joomla!Days NL 2009 #jd09nl
Source Ordered Templates - - Joomla!Days NL 2009 #jd09nlJoomla!Days Netherlands
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Erin M. Kidwell
 
Css intro
Css introCss intro
Css introJulia Vi
 
An Intro to HTML & CSS
An Intro to HTML & CSSAn Intro to HTML & CSS
An Intro to HTML & CSSShay Howe
 
Be nice to your designers
Be nice to your designersBe nice to your designers
Be nice to your designersPai-Cheng Tao
 
Efficient theming in Drupal
Efficient theming in DrupalEfficient theming in Drupal
Efficient theming in DrupalCedric Spillebeen
 
Object oriented css graeme blackwood
Object oriented css graeme blackwoodObject oriented css graeme blackwood
Object oriented css graeme blackwooddrupalconf
 
Object-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSS
Object-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSSObject-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSS
Object-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSSLi-Wei Lu
 
Thinkful - Frontend Crash Course - Intro to HTML/CSS
Thinkful - Frontend Crash Course - Intro to HTML/CSSThinkful - Frontend Crash Course - Intro to HTML/CSS
Thinkful - Frontend Crash Course - Intro to HTML/CSSTJ Stalcup
 
WebAssembly in Houdini CSS, is it possible?
WebAssembly in Houdini CSS, is it possible?WebAssembly in Houdini CSS, is it possible?
WebAssembly in Houdini CSS, is it possible?Alexandr Skachkov
 
UI Design with HTML5 & CSS3
UI Design with HTML5 & CSS3UI Design with HTML5 & CSS3
UI Design with HTML5 & CSS3Shay Howe
 
Implementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 WorkshopImplementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 WorkshopShoshi Roberts
 
Object oriented css. Graeme Blackwood
Object oriented css. Graeme BlackwoodObject oriented css. Graeme Blackwood
Object oriented css. Graeme BlackwoodPVasili
 
The Future of CSS
The Future of CSSThe Future of CSS
The Future of CSSelliando dias
 

Ähnlich wie Modular HTML & CSS Turbo Workshop (20)

Modular HTML & CSS Workshop
Modular HTML & CSS WorkshopModular HTML & CSS Workshop
Modular HTML & CSS Workshop
 
Web
WebWeb
Web
 
Pertemuan 7
Pertemuan 7Pertemuan 7
Pertemuan 7
 
Source Ordered Templates - - Joomla!Days NL 2009 #jd09nl
Source Ordered Templates - - Joomla!Days NL 2009 #jd09nlSource Ordered Templates - - Joomla!Days NL 2009 #jd09nl
Source Ordered Templates - - Joomla!Days NL 2009 #jd09nl
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
 
HTML5 & CSS3 Flag
HTML5 & CSS3 FlagHTML5 & CSS3 Flag
HTML5 & CSS3 Flag
 
Css intro
Css introCss intro
Css intro
 
Intro to HTML 5 / CSS 3
Intro to HTML 5 / CSS 3Intro to HTML 5 / CSS 3
Intro to HTML 5 / CSS 3
 
An Intro to HTML & CSS
An Intro to HTML & CSSAn Intro to HTML & CSS
An Intro to HTML & CSS
 
Be nice to your designers
Be nice to your designersBe nice to your designers
Be nice to your designers
 
Efficient theming in Drupal
Efficient theming in DrupalEfficient theming in Drupal
Efficient theming in Drupal
 
Object oriented css graeme blackwood
Object oriented css graeme blackwoodObject oriented css graeme blackwood
Object oriented css graeme blackwood
 
Object-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSS
Object-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSSObject-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSS
Object-Oriented CSS 從 OOCSS, SMACSS, BEM 到 AMCSS
 
Thinkful - Frontend Crash Course - Intro to HTML/CSS
Thinkful - Frontend Crash Course - Intro to HTML/CSSThinkful - Frontend Crash Course - Intro to HTML/CSS
Thinkful - Frontend Crash Course - Intro to HTML/CSS
 
WebAssembly in Houdini CSS, is it possible?
WebAssembly in Houdini CSS, is it possible?WebAssembly in Houdini CSS, is it possible?
WebAssembly in Houdini CSS, is it possible?
 
UI Design with HTML5 & CSS3
UI Design with HTML5 & CSS3UI Design with HTML5 & CSS3
UI Design with HTML5 & CSS3
 
Implementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 WorkshopImplementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 Workshop
 
Object oriented css. Graeme Blackwood
Object oriented css. Graeme BlackwoodObject oriented css. Graeme Blackwood
Object oriented css. Graeme Blackwood
 
Css
CssCss
Css
 
The Future of CSS
The Future of CSSThe Future of CSS
The Future of CSS
 

Mehr von Shay Howe

Yes, Designer, You CAN Be a Product Leader
Yes, Designer, You CAN Be a Product LeaderYes, Designer, You CAN Be a Product Leader
Yes, Designer, You CAN Be a Product LeaderShay Howe
 
Collaboration Practices
Collaboration PracticesCollaboration Practices
Collaboration PracticesShay Howe
 
How Constraints Cultivate Growth
How Constraints Cultivate GrowthHow Constraints Cultivate Growth
How Constraints Cultivate GrowthShay Howe
 
HTML5 Semantics
HTML5 SemanticsHTML5 Semantics
HTML5 SemanticsShay Howe
 
Quality Development with HTML5
Quality Development with HTML5Quality Development with HTML5
Quality Development with HTML5Shay Howe
 
The Web Design Process: A Strategy for Success
The Web Design Process: A Strategy for SuccessThe Web Design Process: A Strategy for Success
The Web Design Process: A Strategy for SuccessShay Howe
 
Writing for the Web: The Right Strategy
Writing for the Web: The Right StrategyWriting for the Web: The Right Strategy
Writing for the Web: The Right StrategyShay Howe
 

Mehr von Shay Howe (7)

Yes, Designer, You CAN Be a Product Leader
Yes, Designer, You CAN Be a Product LeaderYes, Designer, You CAN Be a Product Leader
Yes, Designer, You CAN Be a Product Leader
 
Collaboration Practices
Collaboration PracticesCollaboration Practices
Collaboration Practices
 
How Constraints Cultivate Growth
How Constraints Cultivate GrowthHow Constraints Cultivate Growth
How Constraints Cultivate Growth
 
HTML5 Semantics
HTML5 SemanticsHTML5 Semantics
HTML5 Semantics
 
Quality Development with HTML5
Quality Development with HTML5Quality Development with HTML5
Quality Development with HTML5
 
The Web Design Process: A Strategy for Success
The Web Design Process: A Strategy for SuccessThe Web Design Process: A Strategy for Success
The Web Design Process: A Strategy for Success
 
Writing for the Web: The Right Strategy
Writing for the Web: The Right StrategyWriting for the Web: The Right Strategy
Writing for the Web: The Right Strategy
 

KĂźrzlich hochgeladen

Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...kumaririma588
 
The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024Ilham Brata
 
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...nirzagarg
 
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...instagramfab782445
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja Nehwal
 
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Availabledollysharma2066
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdftbatkhuu1
 
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...Nitya salvi
 
Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxbingyichin04
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Call Girls in Nagpur High Profile
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...amitlee9823
 
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...amitlee9823
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...nirzagarg
 
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
Just Call Vip call girls dharamshala Escorts ☎️9352988975 Two shot with one g...
Just Call Vip call girls dharamshala Escorts ☎️9352988975 Two shot with one g...Just Call Vip call girls dharamshala Escorts ☎️9352988975 Two shot with one g...
Just Call Vip call girls dharamshala Escorts ☎️9352988975 Two shot with one g...gajnagarg
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
WhatsApp Chat: 📞 8617697112 Call Girl Baran is experienced
WhatsApp Chat: 📞 8617697112 Call Girl Baran is experiencedWhatsApp Chat: 📞 8617697112 Call Girl Baran is experienced
WhatsApp Chat: 📞 8617697112 Call Girl Baran is experiencedNitya salvi
 
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...Delhi Call girls
 

KĂźrzlich hochgeladen (20)

Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
 
The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024The hottest UI and UX Design Trends 2024
The hottest UI and UX Design Trends 2024
 
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
 
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
Nisha Yadav Escorts Service Ernakulam ❣️ 7014168258 ❣️ High Cost Unlimited Ha...
 
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
 
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdf
 
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
 
Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptx
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
 
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
Call Girls Basavanagudi Just Call 👗 7737669865 👗 Top Class Call Girl Service ...
 
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men  🔝dharamshala🔝  ...
➥🔝 7737669865 🔝▻ dharamshala Call-girls in Women Seeking Men 🔝dharamshala🔝 ...
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
 
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Just Call Vip call girls dharamshala Escorts ☎️9352988975 Two shot with one g...
Just Call Vip call girls dharamshala Escorts ☎️9352988975 Two shot with one g...Just Call Vip call girls dharamshala Escorts ☎️9352988975 Two shot with one g...
Just Call Vip call girls dharamshala Escorts ☎️9352988975 Two shot with one g...
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
WhatsApp Chat: 📞 8617697112 Call Girl Baran is experienced
WhatsApp Chat: 📞 8617697112 Call Girl Baran is experiencedWhatsApp Chat: 📞 8617697112 Call Girl Baran is experienced
WhatsApp Chat: 📞 8617697112 Call Girl Baran is experienced
 
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Kaushambi (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 

Modular HTML & CSS Turbo Workshop

  • 1. TACTICAL HTML & CSS MODULAR HTML & CSS TURBO WORKSHOP Shay Howe @shayhowe learn.shayhowe.com Darby Frey @darbyfrey darbyfrey.com
  • 2. @shayhowe & @darbyfreyModular HTML & CSS Shay Howe @shayhowe learn.shayhowe.com Darby Frey @darbyfrey darbyfrey.com
  • 3. @shayhowe & @darbyfreyModular HTML & CSS 1. The Problem 2. Groundwork 3. Assembling Layout 4. Accommodating Content 5. Turbo with SCSS 6. Onward OUR SCHEDULE
  • 4. @shayhowe & @darbyfreyModular HTML & CSS THE PROBLEM
  • 5. The Gust by Willem van de Velde the Younger
  • 6. @shayhowe & @darbyfreyModular HTML & CSS COMMON PROBLEMS • Websites have difficulty scaling • Code becomes brittle • Files and code bases begin to swell
  • 7. @shayhowe & @darbyfreyModular HTML & CSS WHAT’S WRONG • Best practices aren’t exactly best practices • Standards need to evolve
  • 8. @shayhowe & @darbyfreyModular HTML & CSS BEST BAD PRACTICES • Avoid extra elements • Avoid classes • Leverage type selectors • Leverage descendent selectors
  • 9. @shayhowe & @darbyfreyModular HTML & CSS BEST BAD PRACTICES Avoiding classes section  ul#nav  li  {...} section:nth-­‐child(2)  div:nth-­‐child(7)  >  a  {...} Leveraging selectors a.btn  {...} #main  a.btn  {...} #main  div.feature  a.btn  {...}
  • 10. @shayhowe & @darbyfreyModular HTML & CSS BEST BAD PRACTICES Bad #contact  li:nth-­‐child(1)  input, #contact  li:nth-­‐child(2)  input  {    width:  160px; } #contact  li:nth-­‐child(3)  textarea  {    width:  280px; }
  • 11. @shayhowe & @darbyfreyModular HTML & CSS BEST BAD PRACTICES Good .col-­‐1  {    width:  160px; } .col-­‐2  {    width:  280px; }
  • 12. @shayhowe & @darbyfreyModular HTML & CSS SPECIFICITY? • Specificity determines which styles are applied • Each selector has a specificity weight • High specificity beats low specificity • Low specificity is key
  • 13. @shayhowe & @darbyfreyModular HTML & CSS MEASURING SPECIFICITY Formula • IDs, Classes/Pseudo-classes/Attributes, Elements High Specificity (Bad) #primary  #main  div.gallery  figure.media IDs: 2, Classes: 2, Elements: 2 — Compiled: 2–2–2 Low Specificity (Good) .gallery-­‐media IDs: 0, Classes: 1, Elements: 0 — Compiled: 0–1–0
  • 15. @shayhowe & @darbyfreyModular HTML & CSS WATCH SPECIFICITY • Be explicit • Keep specificity low • Never use IDs or !important • Avoid nested selectors (#main  .spotlight  strong  span)
  • 16. @shayhowe & @darbyfreyModular HTML & CSS WATCH SPECIFICITY Bad #primary  #main  div.gallery  {    text-­‐transform:  uppercase; } #primary  #main  div.gallery  figure.media  {    background:  #ccc; }
  • 17. @shayhowe & @darbyfreyModular HTML & CSS WATCH SPECIFICITY Good .gallery  {    text-­‐transform:  uppercase; } .gallery-­‐media  {    background:  #ccc; }
  • 18. Parade of the Black Sea Fleet by Ivan Aivazovsky
  • 19. @shayhowe & @darbyfreyModular HTML & CSS MAINTAINABILITY Code must be... • Organized • Modular • Performant
  • 20. @shayhowe & @darbyfreyModular HTML & CSS METHODOLOGIES OOCSS • Object-Oriented CSS From Nicole Sullivan – oocss.org SMACSS • Scalable and Modular Architecture for CSS From Jonathan Snook – smacss.com
  • 21. @shayhowe & @darbyfreyModular HTML & CSS GROUNDWORK
  • 22. @shayhowe & @darbyfreyModular HTML & CSS REUSE CODE • Do not duplicate code • Remove old code • Defer loading subsequent styles
  • 23. @shayhowe & @darbyfreyModular HTML & CSS REUSE CODE Bad .news  {    background:  #eee;    color:  #666; } .social  {    background:  #eee;    color:  #666; }
  • 24. @shayhowe & @darbyfreyModular HTML & CSS REUSE CODE Good .news, .social  {    background:  #eee;    color:  #666; } Better .feat-­‐box  {    background:  #eee;    color:  #666; }
  • 25. @shayhowe & @darbyfreyModular HTML & CSS USE CLASSES • Write understandable class names • Avoid unnecessary nesting • Use same strength specificity
  • 26. @shayhowe & @darbyfreyModular HTML & CSS USE CLASSES Bad .feat-­‐box  .callout  .pr  {    font-­‐size:  12px; } .feat-­‐box  .callout  .pr  .un  {    color:  #39f; }
  • 27. @shayhowe & @darbyfreyModular HTML & CSS USE CLASSES Good .feat-­‐box  .price  {    font-­‐size:  12px; } .feat-­‐box  .unit  {    color:  #39f; }
  • 28. @shayhowe & @darbyfreyModular HTML & CSS USE CLASSES Bad .btn.large  {    font-­‐size:  24px;        padding:  15px  30px; } <div  class="btn  large">...</div>
  • 29. @shayhowe & @darbyfreyModular HTML & CSS USE CLASSES Good .btn-­‐large  {    font-­‐size:  24px;    padding:  15px  30px; } <div  class="btn-­‐large">...</div>
  • 30. @shayhowe & @darbyfreyModular HTML & CSS ASSEMBLING LAYOUT
  • 31. @shayhowe & @darbyfreyModular HTML & CSS ABSTRACT STRUCTURE • Separate presentation (or theme) from layout • Create an object layer for layout • Create a skin layer for theme • Use a grid
  • 32. @shayhowe & @darbyfreyModular HTML & CSS ABSTRACT STRUCTURE Bad .news  {    background:  #eee;    color:  #666;    margin:  0  10px;    width:  400px; } <div  class="news">...</div>
  • 33. @shayhowe & @darbyfreyModular HTML & CSS ABSTRACT STRUCTURE Good .grid-­‐4  {    margin:  0  10px;    width:  400px; } .feat-­‐box  {    background:  #eee;    color:  #666; } <div  class="grid-­‐4  feat-­‐box">...</div>
  • 34. @shayhowe & @darbyfreyModular HTML & CSS TRANSPARENTIZE ELEMENTS • Stylize elements to be transparent • Keep visual properties apart from layout properties
  • 35. @shayhowe & @darbyfreyModular HTML & CSS TRANSPARENTIZE ELEMENTS Bad .pagination  {    border-­‐radius:  5px;    border:  1px  solid  #eee;    margin:  0  10px;    width:  620px; } <ul  class="pagination">...</ul>
  • 36. @shayhowe & @darbyfreyModular HTML & CSS TRANSPARENTIZE ELEMENTS Good .grid-­‐8  {    margin:  0  10px;    width:  620px; } .offset-­‐box  {    border-­‐radius:  5px;    border:  1px  solid  #eee; } <ul  class="grid-­‐8  offset-­‐box">...</ul>
  • 37. @shayhowe & @darbyfreyModular HTML & CSS CREATE ADAPTABLE LAYOUTS • Height and width should be flexible • Height should extend with content • Width should extend with a grid
  • 38. @shayhowe & @darbyfreyModular HTML & CSS CREATE ADAPTABLE LAYOUTS Bad #main  {    float:  left;    margin:  0  10px;    width:  620px; } #aside  {    float:  left;    margin:  0  10px;    width:  300px; }
  • 39. @shayhowe & @darbyfreyModular HTML & CSS CREATE ADAPTABLE LAYOUTS Good .grid-­‐4, .grid-­‐8  {    float:  left;    margin:  0  10px; } .grid-­‐4  {    width:  300px; } .grid-­‐8  {    width:  620px; }
  • 40. @shayhowe & @darbyfreyModular HTML & CSS ASSEMBLING LAYOUT IN PRACTICE http://bit.ly/modular-html-css
  • 41. @shayhowe & @darbyfreyModular HTML & CSS ACCOMMODATING CONTENT
  • 42. @shayhowe & @darbyfreyModular HTML & CSS SEPARATE CONTENT • Separate content from container • Stylize content regardless of container
  • 43. @shayhowe & @darbyfreyModular HTML & CSS SEPARATE CONTENT Bad .alert  {    background:  #f2dede;    border-­‐radius:  10px;    color:  #b94a48;    padding:  10px  20px; } <div  class="alert">...</div>
  • 44. @shayhowe & @darbyfreyModular HTML & CSS SEPARATE CONTENT Good .alert  {    border-­‐radius:  10px;    padding:  10px  20px; } .alert-­‐error  {    background:  #f2dede;    color:  #b94a48; } <div  class="alert  alert-­‐error">...</div>
  • 45. @shayhowe & @darbyfreyModular HTML & CSS AVOID PARENT DEPENDENCY • Remove parent container dependency • Decouple CSS from HTML • Create components to be used anywhere
  • 46. @shayhowe & @darbyfreyModular HTML & CSS AVOID PARENT DEPENDENCY Bad .feat-­‐box  {    background:  #eee; } article  .feat-­‐box  {    background:  #fff; } <article>    <div  class="feat-­‐box">...</div> </article>
  • 47. @shayhowe & @darbyfreyModular HTML & CSS AVOID PARENT DEPENDENCY Good .feat-­‐box  {    background:  #eee; } .feat-­‐box-­‐alt  {    background:  #fff; } <article>    <div  class="feat-­‐box-­‐alt">...</div> </article>
  • 48. @shayhowe & @darbyfreyModular HTML & CSS FAVOR SEMANTICS • Allow elements to adapt • Uses individual classes to extend modules
  • 49. @shayhowe & @darbyfreyModular HTML & CSS FAVOR SEMANTICS Bad .feat-­‐box  h2  {    color:  #f60;    font:  18px  Helvetica,  sans-­‐serif; } <div  class="feat-­‐box">    <h2>...</h2> </div>
  • 50. @shayhowe & @darbyfreyModular HTML & CSS FAVOR SEMANTICS Good .feat-­‐subhead  {    color:  #f60;    font:  18px  Helvetica,  sans-­‐serif; } <div  class="feat-­‐box">    <h2  class="feat-­‐subhead">...</h2> </div>
  • 51. @shayhowe & @darbyfreyModular HTML & CSS ACCOMMODATING CONTENT IN PRACTICE http://bit.ly/modular-html-css
  • 52. @shayhowe & @darbyfreyModular HTML & CSS TURBO WITH SCSS
  • 53. @shayhowe & @darbyfreyModular HTML & CSS SETUP
  • 54. @shayhowe & @darbyfreyModular HTML & CSS SCSS • CSS preprocessor • Extension of CSS3 • Compiled using Ruby • Adds nested rules, variables, mixins, selector inheritance, and more
  • 55. @shayhowe & @darbyfreyModular HTML & CSS SCSS SCSS Syntax .new  {    color:  #f60;    .item  {        font-­‐size:  24px;    } } Compiled CSS .new  {    color:  #f60; } .new  .item  {    font-­‐size:  24px; }
  • 56. @shayhowe & @darbyfreyModular HTML & CSS SCSS VS. SASS SCSS Syntax .new  {    color:  #f60;    .item  {        font-­‐size:  24px;    } } Sass Syntax .new    color:  #f60    .item        font-­‐size:  24px
  • 57. @shayhowe & @darbyfreyModular HTML & CSS COMPASS • Built on top of Sass • Includes reusable patterns • Provides cross browser CSS3 mixins
  • 58. @shayhowe & @darbyfreyModular HTML & CSS SCOUT APP • GUI for compiling Sass and Compass • Available for both Mac and Windows
  • 59. @shayhowe & @darbyfreyModular HTML & CSS SETUP IN PRACTICE http://bit.ly/modular-html-css
  • 60. @shayhowe & @darbyfreyModular HTML & CSS ORGANIZATION
  • 61. @shayhowe & @darbyfreyModular HTML & CSS TECHNIQUE Settings • Utility styles (Extends, Mixins, Variables) Base • Core styles for entire site (Layout, Typography) Components • UI concepts & design patterns (Buttons, List, Navigation) Modules • Business logic (Aside, Header, Footer)
  • 62. @shayhowe & @darbyfreyModular HTML & CSS TECHNIQUE
  • 63. @shayhowe & @darbyfreyModular HTML & CSS PARTIALS • Must begin with an underscore, _ • Must have a file extension of .scss, not .css.scss
  • 64. @shayhowe & @darbyfreyModular HTML & CSS IMPORTS workshop.css.scss //  Compass @import  "compass/css3"; //  Settings @import  "settings/variables"; //  Base @import  "base/layout"; ...
  • 65. @shayhowe & @darbyfreyModular HTML & CSS ORGANIZATION IN PRACTICE http://bit.ly/modular-html-css
  • 66. @shayhowe & @darbyfreyModular HTML & CSS SETTINGS
  • 67. @shayhowe & @darbyfreyModular HTML & CSS VARIABLES • Allow common values to be shared • Assigned with a dollar sign, name, colon, and value • May be a number, string, boolean, null, or multiple comma separated values
  • 68. @shayhowe & @darbyfreyModular HTML & CSS VARIABLES SCSS Syntax $font-­‐base:  14px; $sans-­‐serif:  "Open  Sans",  sans-­‐serif; p  {    font:  $font-­‐base  $sans-­‐serif; } Compiled CSS p  {    font:  14px  "Open  Sans",  sans-­‐serif; }
  • 69. @shayhowe & @darbyfreyModular HTML & CSS EXTENDS • Share common styles without duplicating them • Keep code weight low • Generates detailed selectors • Assigned with the @extend  rule followed by the selector
  • 70. @shayhowe & @darbyfreyModular HTML & CSS EXTENDS SCSS Syntax .alert  {    border-­‐radius:  10px; } .alert-­‐error  {    @extend  .alert;    color:  #b94a48; } .alert-­‐success  {    @extend  .alert;    color:  #468847; } Compiled CSS .alert, .alert-­‐error, .alert-­‐success  {    border-­‐radius:  10px; } .alert-­‐error  {    color:  #b94a48; } .alert-­‐success  {    color:  #468847; }
  • 71. @shayhowe & @darbyfreyModular HTML & CSS PLACEHOLDERS • Similar to extends • Selector is assigned with a percentage sign • Extended selector is not output, only the styles
  • 72. @shayhowe & @darbyfreyModular HTML & CSS PLACEHOLDERS SCSS Syntax %alert  {    border-­‐radius:  10px; } .alert-­‐error  {    @extend  %alert;    color:  #b94a48; } .alert-­‐success  {    @extend  %alert;    color:  #468847; } Compiled CSS .alert-­‐error, .alert-­‐success  {    border-­‐radius:  10px; } .alert-­‐error  {    color:  #b94a48; } .alert-­‐success  {    color:  #468847; }
  • 73. @shayhowe & @darbyfreyModular HTML & CSS MIXINS • Share similar styles based off given arguments • Duplicates properties, providing different values • Assigned with the @mixin  rule followed by the name and arguments
  • 74. @shayhowe & @darbyfreyModular HTML & CSS MIXINS SCSS Syntax @mixin  btn($color)  {      color:  $color; } .btn  {    @mixin  btn(#f60); } Compiled CSS .btn  {    color:  #f60; }
  • 75. @shayhowe & @darbyfreyModular HTML & CSS SETTINGS IN PRACTICE http://bit.ly/modular-html-css
  • 76. @shayhowe & @darbyfreyModular HTML & CSS REFACTOR
  • 77. @shayhowe & @darbyfreyModular HTML & CSS COMMENTS • Two different types of comments • Standard CSS comments as normal • Silent comments, assigned with two forward slashes, not compiled in the output
  • 78. @shayhowe & @darbyfreyModular HTML & CSS COMMENTS SCSS Syntax /*  Normal  comment  */ .awesome  {    color:  #3276b1; } //  Omitted  comment .very-­‐awesome  {    color:  #47a447; } Compiled CSS /*  Normal  comment  */ .awesome  {    color:  #3276b1; } .very-­‐awesome  {    color:  #47a447; }
  • 79. @shayhowe & @darbyfreyModular HTML & CSS PARENT SELECTOR • Add styles to a previous selector • Commonly used with pseudo classes • Assigned with an ampersand • May also be used as the key selector
  • 80. @shayhowe & @darbyfreyModular HTML & CSS PARENT SELECTOR SCSS Syntax a  {    color:  #8ec63f;    &:hover  {        color:  #f7941d;    } } Compiled CSS a  {    color:  #8ec63f; } a:hover  {    color:  #f7941d; }
  • 81. @shayhowe & @darbyfreyModular HTML & CSS INTERPOLATION • Occasionally SCSS need to be interpolated • Most commonly happens as part of a class name, property name, or inside a string plain text • Assigned by placing the value inside #{...}
  • 82. @shayhowe & @darbyfreyModular HTML & CSS INTERPOLATION SCSS Syntax $logo:  twitter; $offset:  left; .#{$logo}  {    #{$offset}:  20px; } Compiled CSS .twitter  {    left:  20px; }
  • 83. @shayhowe & @darbyfreyModular HTML & CSS REFACTOR IN PRACTICE http://bit.ly/modular-html-css
  • 84. @shayhowe & @darbyfreyModular HTML & CSS COMPILE
  • 85. @shayhowe & @darbyfreyModular HTML & CSS OUTPUT STYLES • SCSS has multiple output styles • Nested or expanded is best for development • Compact or compressed is best for production
  • 86. @shayhowe & @darbyfreyModular HTML & CSS COMPILE IN PRACTICE http://bit.ly/modular-html-css
  • 87. @shayhowe & @darbyfreyModular HTML & CSS ONWARD
  • 88. Ships on the Roadstead by Willem van de Velde the Younger
  • 89. @shayhowe & @darbyfreyModular HTML & CSS APPROACH • Stop thinking about pages • Start thinking about components • Take visual inventory
  • 90. @shayhowe & @darbyfreyModular HTML & CSS THEMES • Decouple HTML and CSS • Separate presentation from layout • Separate content from container • Extend elements with classes
  • 91. @shayhowe & @darbyfreyModular HTML & CSS OUTCOMES • Maintainability! • Reusable code, less duplication • Flexibility and extensibility • Improved standards
  • 92. @shayhowe & @darbyfreyModular HTML & CSS WHAT’S NEXT Build a style guide • Twitter Bootstrap, Zurb Foundation Review methodologies • OOCSS, SMACSS Test your code • CSS Lint, Inspector, PageSpeed
  • 93. @shayhowe & @darbyfreyModular HTML & CSS THANK YOU! Questions? @shayhowe @darbyfrey