SlideShare a Scribd company logo
QUALITY DEVELOPMENT
WITH CSS3


Shay Howe
September 2011
www.shayhowe.com – @letscounthedays
SHAY HOWE
               www.shayhowe.com – @letscounthedays




Quality Development with HTML5 & CSS3                @letscounthedays
HTML5                              CSS3
  Markup language to give               Presentation language to
   content structure and                 give content style and
         meaning.                             appearance.




Quality Development with HTML5 & CSS3                    @letscounthedays
Quality Development with HTML5 & CSS3   @letscounthedays
Quality Development with HTML5 & CSS3   @letscounthedays
CSS3
Quality Development with HTML5 & CSS3   @letscounthedays
VENDOR PREFIXES
Chrome                                  Opera
-­‐chrome-­‐                            -­‐o-­‐

Microsoft                               Webkit
-­‐ms-­‐                                -­‐webkit-­‐

Mozilla
-­‐moz-­‐




Quality Development with HTML5 & CSS3                  @letscounthedays
VENDOR PREFIXES
section	
  {
  -­‐chrome-­‐border-­‐radius:	
  5px;
  -­‐ms-­‐border-­‐radius:	
  5px;
  -­‐moz-­‐border-­‐radius:	
  5px;
  -­‐o-­‐border-­‐radius:	
  5px;
  -­‐webkit-­‐border-­‐radius:	
  5px;
  border-­‐radius:	
  5px;
}




Quality Development with HTML5 & CSS3    @letscounthedays
SELECTORS



Quality Development with HTML5 & CSS3   @letscounthedays
ATTRIBUTE
a[target]	
  {	
  ...	
  }
Elements with the attribute


a[src="http://www.shayhowe.com/"]	
  {	
  ...	
  }
Elements with the attribute value


a[src*="shayhowe"]	
  {	
  ...	
  }
Elements with an attribute value containing...


a[src^="https"]	
  {	
  ...	
  }
Elements with an attribute value starting with...


a[src$=".pdf"]	
  {	
  ...	
  }
Elements with an attribute value ending with...



Quality Development with HTML5 & CSS3               @letscounthedays
:TARGET PSEUDO-CLASS
section#web-­‐design:target	
  {	
  ...	
  }

http://www.shayhowe.com/#web-­‐design




Quality Development with HTML5 & CSS3          @letscounthedays
ELEMENT PSEUDO-CLASSES
input[type="text"]:enabled	
  {	
  ...	
  }
Enabled input


input[type="text"]:disabled	
  {	
  ...	
  }
Disabled input


input:checked	
  {	
  ...	
  }
Checked input




Quality Development with HTML5 & CSS3          @letscounthedays
STRUCTURAL PSEUDO-CLASSES
:nth-­‐child(3)	
  {	
  ...	
  }
Third child element

:nth-­‐child(odd)	
  {	
  ...	
  }
Odd child elements (1, 3, 5 ...)

:nth-­‐child(even)	
  {	
  ...	
  }
Even child elements (2, 4, 6 ...)

:nth-­‐child(3n)	
  {	
  ...	
  }
Child elements with a multiple of 3 (3, 6, 9 ...)

:nth-­‐child(3n+11)	
  {	
  ...	
  }
Child elements with a multiple of 3 starting at 11 (11, 14, 17 ...)




Quality Development with HTML5 & CSS3                                 @letscounthedays
STRUCTURAL PSEUDO-CLASSES
:nth-­‐child(-­‐n+3)	
  {	
  ...	
  }
First 3 child elements

:nth-­‐last-­‐child(-­‐n+3)	
  {	
  ...	
  }
Last 3 child elements

:not(:first-­‐of-­‐type):not(:last-­‐of-­‐type)	
  {	
  ...	
  }
All elements but the first and last elements




Quality Development with HTML5 & CSS3                  @letscounthedays
STRUCTURAL PSEUDO-CLASSES
:nth-­‐last-­‐child(3)	
  {	
  ...	
  }
Third to last child element

:first-­‐child	
  {	
  ...	
  }
Last child element (also works with :last-­‐child)

:nth-­‐of-­‐type(3)	
  {	
  ...	
  }
Third child element of this type of element

:nth-­‐last-­‐of-­‐type(3)	
  {	
  ...	
  }
Third to last child element of this type of element

:first-­‐of-­‐type	
  {	
  ...	
  }
First child element of this type of element (also works with :last-­‐of-­‐type)




Quality Development with HTML5 & CSS3                                         @letscounthedays
STRUCTURAL PSEUDO-CLASSES
:only-­‐child	
  {	
  ...	
  }
Only child element

:only-­‐of-­‐type	
  {	
  ...	
  }
Only child element of this type of element

:empty	
  {	
  ...	
  }
Empty element (<p></p>)

:not(p)	
  {	
  ...	
  }
Anything but this type of element




Quality Development with HTML5 & CSS3        @letscounthedays
TEXTURAL PSEUDO-CLASSES
:first-­‐letter	
  {	
  ...	
  }
First letter within the element

:first-­‐line	
  {	
  ...	
  }
First line within the element

:before	
  {	
  ...	
  }
Add content before an element

:after	
  {	
  ...	
  }
Add content after an element

::selection	
  {	
  ...	
  }
Selected or highlighted element




Quality Development with HTML5 & CSS3   @letscounthedays
SELECTORS




Quality Development with HTML5 & CSS3   @letscounthedays
BACKGROUNDS



Quality Development with HTML5 & CSS3   @letscounthedays
MULTIPLE BACKGROUNDS
section	
  {
  background:
    url(foreground.png)	
  no-­‐repeat	
  0	
  0,
    url(middle-­‐ground.png)	
  no-­‐repeat	
  0	
  0,
    url(background.png)	
  no-­‐repeat	
  0	
  0;
}

section	
  {
  background:
    url(section-­‐left.png)	
  no-­‐repeat	
  0	
  0,
    url(section-­‐right.png)	
  no-­‐repeat	
  100%	
  0;
}


Quality Development with HTML5 & CSS3                @letscounthedays
BACKGROUND-SIZE
section	
  {
  background-­‐size:	
  178px	
  238px;
}

section	
  {
  background-­‐size:	
  85%	
  auto;
}




Quality Development with HTML5 & CSS3     @letscounthedays
BACKGROUND-CLIP
section	
  {
  background-­‐clip:	
  border-­‐box;
}

section	
  {
  background-­‐clip:	
  padding-­‐box;
}




Quality Development with HTML5 & CSS3    @letscounthedays
BACKGROUND-ORIGIN
section	
  {
  background-­‐origin:	
  border-­‐box;
}

section	
  {
  background-­‐origin:	
  content-­‐box;
}




Quality Development with HTML5 & CSS3      @letscounthedays
BACKGROUNDS




Quality Development with HTML5 & CSS3   @letscounthedays
BORDERS



Quality Development with HTML5 & CSS3     @letscounthedays
BORDER-RADIUS
section	
  {
  border-­‐radius:	
  5px;
}

section	
  {
  border-­‐radius:	
  5px	
  20px	
  60px	
  0;
}




Quality Development with HTML5 & CSS3             @letscounthedays
ELLIPTICAL CORNERS
section	
  {
  border-­‐radius:
    60px	
  /	
  30px;
}

section	
  {
  border-­‐radius:
    5px	
  10px	
  6px	
  20px	
  /	
  10px	
  30px	
  40px	
  80px;
}




Quality Development with HTML5 & CSS3                          @letscounthedays
BORDER-IMAGE
section	
  {
       border-­‐image:	
  url(paper.png)	
  10;
       border-­‐width:	
  10px;
}
	
  	
  
section	
  {
       border-­‐image:	
  url(paper.png)	
  48	
  22	
  30	
  36;
       border-­‐width:	
  48px	
  22px	
  30px	
  36px;
}




Quality Development with HTML5 & CSS3                        @letscounthedays
BORDER-IMAGE KEYWORDS
section	
  {
  border-­‐image:	
  url(paper.png)	
  10	
  repeat;
  border-­‐width:	
  10px;
}

section	
  {
border-­‐image:	
  url(paper.png)	
  10	
  stretch;
border-­‐width:	
  10px;
}




Quality Development with HTML5 & CSS3                 @letscounthedays
BORDERS




Quality Development with HTML5 & CSS3   @letscounthedays
GRADIENTS



Quality Development with HTML5 & CSS3   @letscounthedays
LINEAR-GRADIENT
section	
  {
       background-­‐color:
          #f60;	
  
       background-­‐image:
          url(gradient.png);	
  
	
  	
  background-­‐image:
          linear-­‐gradient(top,	
  #f60,	
  #f00);	
  
}




Quality Development with HTML5 & CSS3                     @letscounthedays
COLOR STOPS
section	
  {
  background-­‐image:
     linear-­‐gradient(left,	
  
     #f9e600,	
  
     #6f156c	
  35%,	
  
     #fd7c00	
  65%,	
  
     #002874);
}




Quality Development with HTML5 & CSS3   @letscounthedays
RADIAL-GRADIENT
section	
  {	
  
  background-­‐image:
     radial-­‐gradient(center	
  45deg,
     circle	
  closest-­‐corner,	
  
     #ff0,	
  #f60);
}




Quality Development with HTML5 & CSS3     @letscounthedays
GRADIENTS




Quality Development with HTML5 & CSS3   @letscounthedays
ADDITIONAL
                         FEATURES


Quality Development with HTML5 & CSS3   @letscounthedays
CALC
section	
  {
  width:	
  600px;
  width:	
  calc(100%	
  -­‐	
  20px);
}

section	
  {
  width:	
  100px;
  width:	
  calc(100%	
  -­‐	
  20px	
  /	
  6);
}




Quality Development with HTML5 & CSS3              @letscounthedays
FONT-FACE
@font-­‐face	
  {
  font-­‐family:	
  "Museo	
  Slab";
  src:	
  url("MuseoSlab.svg")	
  format("svg");
  src:	
  url("MuseoSlab.ttf")	
  format("truetype");
  src:	
  url("MuseoSlab.woff")	
  format("woff");
}

h1	
  {
  font-­‐family:	
  "Museo	
  Slab",	
  Georgia,	
  serif;	
  
}




Quality Development with HTML5 & CSS3                   @letscounthedays
FONT-FACE




Quality Development with HTML5 & CSS3   @letscounthedays
MULTI-COLUMN LAYOUTS
section	
  {
  column-­‐count:	
  3;
  column-­‐gap:	
  20px;
}

section	
  {
  column-­‐width:	
  220px;
  column-­‐gap:	
  40px;
  column-­‐rule:	
  1px	
  solid	
  rgb(255,255,255);
}




Quality Development with HTML5 & CSS3              @letscounthedays
MULTI-COLUMN LAYOUTS




Quality Development with HTML5 & CSS3   @letscounthedays
BOX & TEXT SHADOWS
select	
  {
  box-­‐shadow:	
  3px	
  3px	
  5px	
  rgba(0,	
  0,	
  0,	
  0.4);
}

section	
  {
  box-­‐shadow:
    inset	
  0	
  3px	
  5px	
  rgba(0,	
  0,	
  0,	
  0.4),
    0	
  2px	
  4px	
  rgba(0,	
  0,	
  0,	
  0.5);
  text-­‐shadow:	
  0	
  -­‐1px	
  3px	
  rgba(0,	
  0,	
  0,	
  0.6);
}




Quality Development with HTML5 & CSS3                          @letscounthedays
BOX & TEXT SHADOWS




Quality Development with HTML5 & CSS3   @letscounthedays
OPACITY
section	
  {
  background-­‐color:	
  rgba(255,	
  102,	
  0,	
  0.5);
}

section	
  {
  background-­‐color:	
  hlsa(24,	
  100%,	
  100%,	
  0.5);
}




Quality Development with HTML5 & CSS3                 @letscounthedays
TEXT-OVERFLOW
select	
  {
  text-­‐overflow:	
  ellipsis;
}




Quality Development with HTML5 & CSS3   @letscounthedays
TRANSFORMS



Quality Development with HTML5 & CSS3   @letscounthedays
ROTATE
section	
  {
  transform:	
  rotate(10deg);
}

section	
  {
  transform:	
  rotate(-­‐30deg);
}




Quality Development with HTML5 & CSS3   @letscounthedays
ORIGIN
section	
  {
  transform:	
  rotate(30deg);
  transform-­‐origin:	
  100%	
  0;
}

section	
  {
  transform:	
  rotate(30deg);
  transform-­‐origin:	
  right	
  top;
}




Quality Development with HTML5 & CSS3    @letscounthedays
SCALE
section	
  {
  transform:	
  scaleX(1.5);
  transform:	
  scaleY(.4);
}

section	
  {
  transform:	
  scale(1.5,	
  .4);
}

section	
  {
	
  	
  transform:	
  scale(.4);
}


Quality Development with HTML5 & CSS3   @letscounthedays
SKEW
section	
  {
  transform:	
  skewX(10deg);
  transform:	
  skewY(30deg);
}

section	
  {
  transform:	
  skew(10deg,	
  30deg);
}




Quality Development with HTML5 & CSS3    @letscounthedays
TRANSLATE
section	
  {
  transform:	
  translateX(50px);
  transform:	
  translateY(10%);
}

section	
  {
  transform:	
  translate(50px,	
  10%);
}




Quality Development with HTML5 & CSS3      @letscounthedays
MULTIPLE TRANSFORMS
section	
  {
  transform:	
  rotate(30deg);
  transform:	
  scale(.4);
  transform:	
  skew(-­‐15deg,	
  -­‐15deg);
  transform:	
  translate(50px,	
  10%);
}




Quality Development with HTML5 & CSS3          @letscounthedays
HOMEWORK
3D Transforms
matrix3d
perspective
perspective-­‐origin
rotate3d
scale3d
translate3d




Quality Development with HTML5 & CSS3   @letscounthedays
TRANSFORMS




Quality Development with HTML5 & CSS3   @letscounthedays
TRANSITIONS



Quality Development with HTML5 & CSS3   @letscounthedays
TRANSITIONS
section	
  {
  transition-­‐property:	
  color;
  transition-­‐duration:	
  .25s;
  transition-­‐timing-­‐function:	
  linear;
}

section	
  {
  transition-­‐property:	
  background-­‐color;
  transition-­‐duration:	
  .5s;
  transition-­‐delay:	
  .25s;
  transition-­‐timing-­‐function:	
  ease-­‐in;
}


Quality Development with HTML5 & CSS3             @letscounthedays
TRANSITIONS
section	
  {
  transition-­‐property:	
  color,	
  background-­‐color;
  transition-­‐duration:	
  .25s,	
  .5s;
  transition-­‐delay:	
  0,	
  .25s;
  transition-­‐timing-­‐function:	
  linear,	
  ease-­‐in;
}

section	
  {
  transition:	
  
    color	
  .25s	
  linear,
    background-­‐color	
  .5s	
  .25s	
  ease-­‐in;
}


Quality Development with HTML5 & CSS3                 @letscounthedays
TRANSITIONS
section	
  {
  transition:	
  all	
  .25s	
  linear;
}

Transitionable Properties
Backgrounds, Borders, Colors, Dimensions, Fonts,
Margins, Opacity, Padding, Position, Transforms




Quality Development with HTML5 & CSS3          @letscounthedays
TRANSITIONS




Quality Development with HTML5 & CSS3   @letscounthedays
KEYFRAME
                        ANIMATIONS


Quality Development with HTML5 & CSS3   @letscounthedays
KEYFRAMES
@keyframes	
  walking	
  {
  0%	
  {	
  left:	
  0;	
  }
  50%	
  {	
  left:	
  40%;	
  }
  100%	
  {	
  left:	
  100%;	
  }
}

section	
  {
  animation-­‐name:	
  walking;
  animation-­‐duration:	
  5s;
  animation-­‐iteration-­‐count:	
  1;
  animation-­‐timing-­‐function:	
  ease-­‐in-­‐out;
}


Quality Development with HTML5 & CSS3              @letscounthedays
KEYFRAMES
section	
  {
  animation:	
  walking	
  5s	
  1	
  ease-­‐in-­‐out;
}




Quality Development with HTML5 & CSS3                    @letscounthedays
ANIMATION PROPERTIES
• animation-­‐name
• animation-­‐delay
• animation-­‐direction
• animation-­‐duration
• animation-­‐iteration-­‐count
• animation-­‐timing-­‐function




Quality Development with HTML5 & CSS3   @letscounthedays
ANIMATIONS




Quality Development with HTML5 & CSS3   @letscounthedays
MEDIA QUERIES



Quality Development with HTML5 & CSS3   @letscounthedays
SCREEN SIZE
<link	
  rel="stylesheet"
  media="screen	
  and	
  (min-­‐width:	
  960px)"	
  
  href="960.css">

@media	
  screen	
  and	
  (min-­‐width:	
  960px)	
  {
  ...
}




Quality Development with HTML5 & CSS3                     @letscounthedays
ORIENTATION
@media	
  screen	
  and	
  (min-­‐width:	
  960px)	
  and	
  
  (orientation:	
  portrait),	
  screen	
  and	
  (min-­‐
  width:	
  480px)	
  and	
  (orientation:	
  landscape)	
  {
  ...
}




Quality Development with HTML5 & CSS3                 @letscounthedays
MEDIA QUERIES
• aspect-­‐ratio
• color
• device-­‐aspect-­‐ratio
• device-­‐height
• device-­‐width
• height
• max-­‐height
• max-­‐width
• monochrome
• orientation
• resolution
• width



Quality Development with HTML5 & CSS3   @letscounthedays
QUESTIONS?
                                        Thank you!




Quality Development with HTML5 & CSS3                @letscounthedays

More Related Content

What's hot (20)

PDF
Dive into HTML5: SVG and Canvas
Doris Chen
 
PPTX
Sara Soueidan: Styling and Animating Scalable Vector Graphics with CSS [CSSCo...
Guillaume Kossi
 
PDF
SVG For Web Designers (and Developers)
Sara Soueidan
 
PDF
CSS3: Are you experienced?
Denise Jacobs
 
PDF
CSS3 Introduction
Jaeni Sahuri
 
PDF
The Future Of CSS
Andy Budd
 
ZIP
Vector Graphics on the Web: SVG, Canvas, CSS3
Pascal Rettig
 
PDF
Learn svg
FitBlar Mit
 
PPTX
About Best friends - HTML, CSS and JS
Naga Harish M
 
PDF
CSS - OOCSS, SMACSS and more
Russ Weakley
 
PPTX
Presentation about html5 css3
Gopi A
 
PPTX
HTML5 and SVG
yarcub
 
PDF
Modular HTML, CSS, & JS Workshop
Shay Howe
 
KEY
Trendsetting: Web Design and Beyond
Andy Stratton
 
PDF
CSS in React - The Good, The Bad, and The Ugly
Joe Seifi
 
PDF
Sass
Bram Verdyck
 
PDF
The Future of CSS
elliando dias
 
PPT
Html & Css presentation
joilrahat
 
PDF
css-tutorial
tutorialsruby
 
Dive into HTML5: SVG and Canvas
Doris Chen
 
Sara Soueidan: Styling and Animating Scalable Vector Graphics with CSS [CSSCo...
Guillaume Kossi
 
SVG For Web Designers (and Developers)
Sara Soueidan
 
CSS3: Are you experienced?
Denise Jacobs
 
CSS3 Introduction
Jaeni Sahuri
 
The Future Of CSS
Andy Budd
 
Vector Graphics on the Web: SVG, Canvas, CSS3
Pascal Rettig
 
Learn svg
FitBlar Mit
 
About Best friends - HTML, CSS and JS
Naga Harish M
 
CSS - OOCSS, SMACSS and more
Russ Weakley
 
Presentation about html5 css3
Gopi A
 
HTML5 and SVG
yarcub
 
Modular HTML, CSS, & JS Workshop
Shay Howe
 
Trendsetting: Web Design and Beyond
Andy Stratton
 
CSS in React - The Good, The Bad, and The Ugly
Joe Seifi
 
The Future of CSS
elliando dias
 
Html & Css presentation
joilrahat
 
css-tutorial
tutorialsruby
 

Viewers also liked (20)

PDF
Quality Development with HTML5
Shay Howe
 
PDF
UI Design with HTML5 & CSS3
Shay Howe
 
PDF
Mastering CSS3 Selectors
Rachel Andrew
 
PDF
HTML5 Semantics
Shay Howe
 
PDF
Smacking Git Around Advanced Git Tricks
railsconf
 
PDF
The Web Design Process: A Strategy for Success
Shay Howe
 
PDF
Git in a nutshell
Pranesh Vittal
 
PDF
CSS: selectors and the box model
Idan Gazit
 
PDF
Yes, Designer, You CAN Be a Product Leader
Shay Howe
 
PDF
Writing for the Web: The Right Strategy
Shay Howe
 
PDF
An Intro to HTML & CSS
Shay Howe
 
PDF
CSS Selectors
Rachel Andrew
 
PDF
Git in a nutshell
Nelson Tai
 
PDF
Intro To Git
kyleburton
 
PDF
Building Responsive Layouts
Zoe Gillenwater
 
KEY
Git and GitHub
James Gray
 
PDF
Advanced Git
segv
 
PDF
Git Tutorial 教學
Wen-Tien Chang
 
PDF
Getting Git Right
Sven Peters
 
Quality Development with HTML5
Shay Howe
 
UI Design with HTML5 & CSS3
Shay Howe
 
Mastering CSS3 Selectors
Rachel Andrew
 
HTML5 Semantics
Shay Howe
 
Smacking Git Around Advanced Git Tricks
railsconf
 
The Web Design Process: A Strategy for Success
Shay Howe
 
Git in a nutshell
Pranesh Vittal
 
CSS: selectors and the box model
Idan Gazit
 
Yes, Designer, You CAN Be a Product Leader
Shay Howe
 
Writing for the Web: The Right Strategy
Shay Howe
 
An Intro to HTML & CSS
Shay Howe
 
CSS Selectors
Rachel Andrew
 
Git in a nutshell
Nelson Tai
 
Intro To Git
kyleburton
 
Building Responsive Layouts
Zoe Gillenwater
 
Git and GitHub
James Gray
 
Advanced Git
segv
 
Git Tutorial 教學
Wen-Tien Chang
 
Getting Git Right
Sven Peters
 
Ad

Similar to Quality Development with CSS3 (20)

PDF
Presentation html5 css3 by thibaut
Thibaut Baillet
 
PPTX
Css3
Bronson Quick
 
KEY
It's a Mod World - A Practical Guide to Rocking Modernizr
Michael Enslow
 
KEY
A brief look at CSS3 techniques by Aaron Rodgers, Web Designer @ vzaar.com
applicake
 
KEY
Core CSS3
Rachel Andrew
 
PPTX
Managing responsive websites with css preprocessors.
The University of Akron
 
PDF
Web Design Trends 2010 - What Is CSS3 All About?
Alexandra Lo Cascio
 
PDF
Implementing Awesome: An HTML5/CSS3 Workshop
Shoshi Roberts
 
PPT
Even faster web sites presentation 3
Felipe Lavín
 
KEY
Slow kinda sucks
Tim Wright
 
PDF
GDI Seattle Intermediate HTML and CSS Class 1
Heather Rock
 
PDF
CSS3: Ripe and Ready
Denise Jacobs
 
PDF
Accelerated Stylesheets
Wynn Netherland
 
KEY
CSS and CSS3
Robyn Overstreet
 
PPTX
Introduction to HTML language Web design.pptx
lekhacce
 
PPTX
webdevelopment_6132030-lva1-app6891.pptx
lekhacce
 
PDF
Web Development with HTML5, CSS3 & JavaScript
Edureka!
 
PPT
Html5 Whats around the bend
Raj Lal
 
PPTX
Html5 more than just html5 v final
Lohith Goudagere Nagaraj
 
PPTX
HTML5 - A Whirlwind tour
Lohith Goudagere Nagaraj
 
Presentation html5 css3 by thibaut
Thibaut Baillet
 
It's a Mod World - A Practical Guide to Rocking Modernizr
Michael Enslow
 
A brief look at CSS3 techniques by Aaron Rodgers, Web Designer @ vzaar.com
applicake
 
Core CSS3
Rachel Andrew
 
Managing responsive websites with css preprocessors.
The University of Akron
 
Web Design Trends 2010 - What Is CSS3 All About?
Alexandra Lo Cascio
 
Implementing Awesome: An HTML5/CSS3 Workshop
Shoshi Roberts
 
Even faster web sites presentation 3
Felipe Lavín
 
Slow kinda sucks
Tim Wright
 
GDI Seattle Intermediate HTML and CSS Class 1
Heather Rock
 
CSS3: Ripe and Ready
Denise Jacobs
 
Accelerated Stylesheets
Wynn Netherland
 
CSS and CSS3
Robyn Overstreet
 
Introduction to HTML language Web design.pptx
lekhacce
 
webdevelopment_6132030-lva1-app6891.pptx
lekhacce
 
Web Development with HTML5, CSS3 & JavaScript
Edureka!
 
Html5 Whats around the bend
Raj Lal
 
Html5 more than just html5 v final
Lohith Goudagere Nagaraj
 
HTML5 - A Whirlwind tour
Lohith Goudagere Nagaraj
 
Ad

Recently uploaded (20)

PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
From Code to Challenge: Crafting Skill-Based Games That Engage and Reward
aiyshauae
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
July Patch Tuesday
Ivanti
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 

Quality Development with CSS3

  • 1. QUALITY DEVELOPMENT WITH CSS3 Shay Howe September 2011 www.shayhowe.com – @letscounthedays
  • 2. SHAY HOWE www.shayhowe.com – @letscounthedays Quality Development with HTML5 & CSS3 @letscounthedays
  • 3. HTML5 CSS3 Markup language to give Presentation language to content structure and give content style and meaning. appearance. Quality Development with HTML5 & CSS3 @letscounthedays
  • 4. Quality Development with HTML5 & CSS3 @letscounthedays
  • 5. Quality Development with HTML5 & CSS3 @letscounthedays
  • 6. CSS3 Quality Development with HTML5 & CSS3 @letscounthedays
  • 7. VENDOR PREFIXES Chrome Opera -­‐chrome-­‐ -­‐o-­‐ Microsoft Webkit -­‐ms-­‐ -­‐webkit-­‐ Mozilla -­‐moz-­‐ Quality Development with HTML5 & CSS3 @letscounthedays
  • 8. VENDOR PREFIXES section  { -­‐chrome-­‐border-­‐radius:  5px; -­‐ms-­‐border-­‐radius:  5px; -­‐moz-­‐border-­‐radius:  5px; -­‐o-­‐border-­‐radius:  5px; -­‐webkit-­‐border-­‐radius:  5px; border-­‐radius:  5px; } Quality Development with HTML5 & CSS3 @letscounthedays
  • 9. SELECTORS Quality Development with HTML5 & CSS3 @letscounthedays
  • 10. ATTRIBUTE a[target]  {  ...  } Elements with the attribute a[src="http://www.shayhowe.com/"]  {  ...  } Elements with the attribute value a[src*="shayhowe"]  {  ...  } Elements with an attribute value containing... a[src^="https"]  {  ...  } Elements with an attribute value starting with... a[src$=".pdf"]  {  ...  } Elements with an attribute value ending with... Quality Development with HTML5 & CSS3 @letscounthedays
  • 11. :TARGET PSEUDO-CLASS section#web-­‐design:target  {  ...  } http://www.shayhowe.com/#web-­‐design Quality Development with HTML5 & CSS3 @letscounthedays
  • 12. ELEMENT PSEUDO-CLASSES input[type="text"]:enabled  {  ...  } Enabled input input[type="text"]:disabled  {  ...  } Disabled input input:checked  {  ...  } Checked input Quality Development with HTML5 & CSS3 @letscounthedays
  • 13. STRUCTURAL PSEUDO-CLASSES :nth-­‐child(3)  {  ...  } Third child element :nth-­‐child(odd)  {  ...  } Odd child elements (1, 3, 5 ...) :nth-­‐child(even)  {  ...  } Even child elements (2, 4, 6 ...) :nth-­‐child(3n)  {  ...  } Child elements with a multiple of 3 (3, 6, 9 ...) :nth-­‐child(3n+11)  {  ...  } Child elements with a multiple of 3 starting at 11 (11, 14, 17 ...) Quality Development with HTML5 & CSS3 @letscounthedays
  • 14. STRUCTURAL PSEUDO-CLASSES :nth-­‐child(-­‐n+3)  {  ...  } First 3 child elements :nth-­‐last-­‐child(-­‐n+3)  {  ...  } Last 3 child elements :not(:first-­‐of-­‐type):not(:last-­‐of-­‐type)  {  ...  } All elements but the first and last elements Quality Development with HTML5 & CSS3 @letscounthedays
  • 15. STRUCTURAL PSEUDO-CLASSES :nth-­‐last-­‐child(3)  {  ...  } Third to last child element :first-­‐child  {  ...  } Last child element (also works with :last-­‐child) :nth-­‐of-­‐type(3)  {  ...  } Third child element of this type of element :nth-­‐last-­‐of-­‐type(3)  {  ...  } Third to last child element of this type of element :first-­‐of-­‐type  {  ...  } First child element of this type of element (also works with :last-­‐of-­‐type) Quality Development with HTML5 & CSS3 @letscounthedays
  • 16. STRUCTURAL PSEUDO-CLASSES :only-­‐child  {  ...  } Only child element :only-­‐of-­‐type  {  ...  } Only child element of this type of element :empty  {  ...  } Empty element (<p></p>) :not(p)  {  ...  } Anything but this type of element Quality Development with HTML5 & CSS3 @letscounthedays
  • 17. TEXTURAL PSEUDO-CLASSES :first-­‐letter  {  ...  } First letter within the element :first-­‐line  {  ...  } First line within the element :before  {  ...  } Add content before an element :after  {  ...  } Add content after an element ::selection  {  ...  } Selected or highlighted element Quality Development with HTML5 & CSS3 @letscounthedays
  • 18. SELECTORS Quality Development with HTML5 & CSS3 @letscounthedays
  • 19. BACKGROUNDS Quality Development with HTML5 & CSS3 @letscounthedays
  • 20. MULTIPLE BACKGROUNDS section  { background: url(foreground.png)  no-­‐repeat  0  0, url(middle-­‐ground.png)  no-­‐repeat  0  0, url(background.png)  no-­‐repeat  0  0; } section  { background: url(section-­‐left.png)  no-­‐repeat  0  0, url(section-­‐right.png)  no-­‐repeat  100%  0; } Quality Development with HTML5 & CSS3 @letscounthedays
  • 21. BACKGROUND-SIZE section  { background-­‐size:  178px  238px; } section  { background-­‐size:  85%  auto; } Quality Development with HTML5 & CSS3 @letscounthedays
  • 22. BACKGROUND-CLIP section  { background-­‐clip:  border-­‐box; } section  { background-­‐clip:  padding-­‐box; } Quality Development with HTML5 & CSS3 @letscounthedays
  • 23. BACKGROUND-ORIGIN section  { background-­‐origin:  border-­‐box; } section  { background-­‐origin:  content-­‐box; } Quality Development with HTML5 & CSS3 @letscounthedays
  • 24. BACKGROUNDS Quality Development with HTML5 & CSS3 @letscounthedays
  • 25. BORDERS Quality Development with HTML5 & CSS3 @letscounthedays
  • 26. BORDER-RADIUS section  { border-­‐radius:  5px; } section  { border-­‐radius:  5px  20px  60px  0; } Quality Development with HTML5 & CSS3 @letscounthedays
  • 27. ELLIPTICAL CORNERS section  { border-­‐radius: 60px  /  30px; } section  { border-­‐radius: 5px  10px  6px  20px  /  10px  30px  40px  80px; } Quality Development with HTML5 & CSS3 @letscounthedays
  • 28. BORDER-IMAGE section  { border-­‐image:  url(paper.png)  10; border-­‐width:  10px; }     section  { border-­‐image:  url(paper.png)  48  22  30  36; border-­‐width:  48px  22px  30px  36px; } Quality Development with HTML5 & CSS3 @letscounthedays
  • 29. BORDER-IMAGE KEYWORDS section  { border-­‐image:  url(paper.png)  10  repeat; border-­‐width:  10px; } section  { border-­‐image:  url(paper.png)  10  stretch; border-­‐width:  10px; } Quality Development with HTML5 & CSS3 @letscounthedays
  • 30. BORDERS Quality Development with HTML5 & CSS3 @letscounthedays
  • 31. GRADIENTS Quality Development with HTML5 & CSS3 @letscounthedays
  • 32. LINEAR-GRADIENT section  { background-­‐color: #f60;   background-­‐image: url(gradient.png);      background-­‐image: linear-­‐gradient(top,  #f60,  #f00);   } Quality Development with HTML5 & CSS3 @letscounthedays
  • 33. COLOR STOPS section  { background-­‐image: linear-­‐gradient(left,   #f9e600,   #6f156c  35%,   #fd7c00  65%,   #002874); } Quality Development with HTML5 & CSS3 @letscounthedays
  • 34. RADIAL-GRADIENT section  {   background-­‐image: radial-­‐gradient(center  45deg, circle  closest-­‐corner,   #ff0,  #f60); } Quality Development with HTML5 & CSS3 @letscounthedays
  • 35. GRADIENTS Quality Development with HTML5 & CSS3 @letscounthedays
  • 36. ADDITIONAL FEATURES Quality Development with HTML5 & CSS3 @letscounthedays
  • 37. CALC section  { width:  600px; width:  calc(100%  -­‐  20px); } section  { width:  100px; width:  calc(100%  -­‐  20px  /  6); } Quality Development with HTML5 & CSS3 @letscounthedays
  • 38. FONT-FACE @font-­‐face  { font-­‐family:  "Museo  Slab"; src:  url("MuseoSlab.svg")  format("svg"); src:  url("MuseoSlab.ttf")  format("truetype"); src:  url("MuseoSlab.woff")  format("woff"); } h1  { font-­‐family:  "Museo  Slab",  Georgia,  serif;   } Quality Development with HTML5 & CSS3 @letscounthedays
  • 39. FONT-FACE Quality Development with HTML5 & CSS3 @letscounthedays
  • 40. MULTI-COLUMN LAYOUTS section  { column-­‐count:  3; column-­‐gap:  20px; } section  { column-­‐width:  220px; column-­‐gap:  40px; column-­‐rule:  1px  solid  rgb(255,255,255); } Quality Development with HTML5 & CSS3 @letscounthedays
  • 41. MULTI-COLUMN LAYOUTS Quality Development with HTML5 & CSS3 @letscounthedays
  • 42. BOX & TEXT SHADOWS select  { box-­‐shadow:  3px  3px  5px  rgba(0,  0,  0,  0.4); } section  { box-­‐shadow: inset  0  3px  5px  rgba(0,  0,  0,  0.4), 0  2px  4px  rgba(0,  0,  0,  0.5); text-­‐shadow:  0  -­‐1px  3px  rgba(0,  0,  0,  0.6); } Quality Development with HTML5 & CSS3 @letscounthedays
  • 43. BOX & TEXT SHADOWS Quality Development with HTML5 & CSS3 @letscounthedays
  • 44. OPACITY section  { background-­‐color:  rgba(255,  102,  0,  0.5); } section  { background-­‐color:  hlsa(24,  100%,  100%,  0.5); } Quality Development with HTML5 & CSS3 @letscounthedays
  • 45. TEXT-OVERFLOW select  { text-­‐overflow:  ellipsis; } Quality Development with HTML5 & CSS3 @letscounthedays
  • 46. TRANSFORMS Quality Development with HTML5 & CSS3 @letscounthedays
  • 47. ROTATE section  { transform:  rotate(10deg); } section  { transform:  rotate(-­‐30deg); } Quality Development with HTML5 & CSS3 @letscounthedays
  • 48. ORIGIN section  { transform:  rotate(30deg); transform-­‐origin:  100%  0; } section  { transform:  rotate(30deg); transform-­‐origin:  right  top; } Quality Development with HTML5 & CSS3 @letscounthedays
  • 49. SCALE section  { transform:  scaleX(1.5); transform:  scaleY(.4); } section  { transform:  scale(1.5,  .4); } section  {    transform:  scale(.4); } Quality Development with HTML5 & CSS3 @letscounthedays
  • 50. SKEW section  { transform:  skewX(10deg); transform:  skewY(30deg); } section  { transform:  skew(10deg,  30deg); } Quality Development with HTML5 & CSS3 @letscounthedays
  • 51. TRANSLATE section  { transform:  translateX(50px); transform:  translateY(10%); } section  { transform:  translate(50px,  10%); } Quality Development with HTML5 & CSS3 @letscounthedays
  • 52. MULTIPLE TRANSFORMS section  { transform:  rotate(30deg); transform:  scale(.4); transform:  skew(-­‐15deg,  -­‐15deg); transform:  translate(50px,  10%); } Quality Development with HTML5 & CSS3 @letscounthedays
  • 54. TRANSFORMS Quality Development with HTML5 & CSS3 @letscounthedays
  • 55. TRANSITIONS Quality Development with HTML5 & CSS3 @letscounthedays
  • 56. TRANSITIONS section  { transition-­‐property:  color; transition-­‐duration:  .25s; transition-­‐timing-­‐function:  linear; } section  { transition-­‐property:  background-­‐color; transition-­‐duration:  .5s; transition-­‐delay:  .25s; transition-­‐timing-­‐function:  ease-­‐in; } Quality Development with HTML5 & CSS3 @letscounthedays
  • 57. TRANSITIONS section  { transition-­‐property:  color,  background-­‐color; transition-­‐duration:  .25s,  .5s; transition-­‐delay:  0,  .25s; transition-­‐timing-­‐function:  linear,  ease-­‐in; } section  { transition:   color  .25s  linear, background-­‐color  .5s  .25s  ease-­‐in; } Quality Development with HTML5 & CSS3 @letscounthedays
  • 58. TRANSITIONS section  { transition:  all  .25s  linear; } Transitionable Properties Backgrounds, Borders, Colors, Dimensions, Fonts, Margins, Opacity, Padding, Position, Transforms Quality Development with HTML5 & CSS3 @letscounthedays
  • 59. TRANSITIONS Quality Development with HTML5 & CSS3 @letscounthedays
  • 60. KEYFRAME ANIMATIONS Quality Development with HTML5 & CSS3 @letscounthedays
  • 61. KEYFRAMES @keyframes  walking  { 0%  {  left:  0;  } 50%  {  left:  40%;  } 100%  {  left:  100%;  } } section  { animation-­‐name:  walking; animation-­‐duration:  5s; animation-­‐iteration-­‐count:  1; animation-­‐timing-­‐function:  ease-­‐in-­‐out; } Quality Development with HTML5 & CSS3 @letscounthedays
  • 62. KEYFRAMES section  { animation:  walking  5s  1  ease-­‐in-­‐out; } Quality Development with HTML5 & CSS3 @letscounthedays
  • 63. ANIMATION PROPERTIES • animation-­‐name • animation-­‐delay • animation-­‐direction • animation-­‐duration • animation-­‐iteration-­‐count • animation-­‐timing-­‐function Quality Development with HTML5 & CSS3 @letscounthedays
  • 64. ANIMATIONS Quality Development with HTML5 & CSS3 @letscounthedays
  • 65. MEDIA QUERIES Quality Development with HTML5 & CSS3 @letscounthedays
  • 66. SCREEN SIZE <link  rel="stylesheet" media="screen  and  (min-­‐width:  960px)"   href="960.css"> @media  screen  and  (min-­‐width:  960px)  { ... } Quality Development with HTML5 & CSS3 @letscounthedays
  • 67. ORIENTATION @media  screen  and  (min-­‐width:  960px)  and   (orientation:  portrait),  screen  and  (min-­‐ width:  480px)  and  (orientation:  landscape)  { ... } Quality Development with HTML5 & CSS3 @letscounthedays
  • 68. MEDIA QUERIES • aspect-­‐ratio • color • device-­‐aspect-­‐ratio • device-­‐height • device-­‐width • height • max-­‐height • max-­‐width • monochrome • orientation • resolution • width Quality Development with HTML5 & CSS3 @letscounthedays
  • 69. QUESTIONS? Thank you! Quality Development with HTML5 & CSS3 @letscounthedays