SlideShare a Scribd company logo
HTML5 & CSS3 Flag



Christopher Schmitt
ChristopherSchmitt.com
http://twitter.com/@teleject
Christopher Schmitt
ChristopherSchmitt.com
http://twitter.com/@teleject
how do we go about
                   ?
solving our problems
we solve problems
   by realizing
The Limitations
and we realize that
Our Experience
limits our thinking
HTML5 & CSS3 Flag
It’s Always a
    Plumbing
     Problem
HTML5 & CSS3 Flag
HTML5 & CSS3 Flag
Our browsers
Limit our design
HTML5 & CSS3 Flag
HTML5 & CSS3 Flag
HTML5 & CSS3 Flag
Test limitations
   to gain new
  experience
HTML+CSS
HTML5 & CSS3 Flag
HTML5 & CSS3 Flag
Semantic
Markup
91
http://www.w3.org/TR/html4/index/elements.html
HTML5 & CSS3 Flag
HTML5 & CSS3 Flag
<h1><a href="http://
www.usa.gov/">United States of America</
a></h1>

 <ol><!-- Listing of States -->
  <li><a href="http://www.alabama.gov/">
<strong>State of Alabama</strong><i></i>
</a></li>

 <li><a href="http://www.ct.gov/">
<em><strong>State of Connecticut</
strong></em><i></i>
</a></li>

...

 </ol>
DOCTYPE
HTML 4.01 Transitional DTD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">

XHTML 1.0 Transitional DTD:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>DOWNTOWN ORLANDO RESTAURANTS</title>
</head>
<body>
 <h1>....</h1>
 <p>...</p>
 </body>
</html>
EXERCISE
• Go to HTML validator at
  http://validator.w3.org/
  #validate_by_input
• Then type the following HTML (below) and hit
  validate:

         <!DOCTYPE html>
         <title>Small HTML5</title>
         <p>Hello world</p>
HTML5 & CSS3 Flag
HTML5 & CSS3 Flag
SYNTAX &
Page Structure
Relearning Syntax
•   Attribute quotes “not really” required

•   UPPERCASE and lowercase HTML elements allowed

    •   So is CaMeLcAse typing.

•   No more need to do self-closing tags like <IMG /> or <BR />

•   Also, no more minimalization. So, this is okay: <dl compact>

•   Basically, everything that was bad from HTML4 in XHTML5 is good
    again.

    •   Full circle, baby!
DIV ID=”header”

                    DIV ID=”nav”




DIV ID=”section”




                                     DIV ID=”sidecolumn”
DIV ID=”article”




                   DIV ID=”footer”
<HEADER>

             <NAV>




<SECTION>




                       <ASIDE>
<ARTICLE>




            <FOOTER>
ARTICLE vs ASIDE vs SECTION

 • Marc Grabsanki says:
  • Article is unique content to that
     document
   • Section is a thematic grouping of
     content, typically with a heading - pretty
     generic
   • Aside is content that is tangentially
     related, like a sidebar
     div has no meaning whatsoever, so there
     is nothing semantic about divs
ArtiCLE vs ASIDE VS
             SECTION
•   Bruce Lawson says:

    •   Aside is for something tangentially related to its parent element. Or,
        if a sibling to the main content, it can be used to make sidebars of
        navigation, recent comments, colophons, author bios etc.

    •   Article is a discrete piece of content that could be syndicated - a
        blog post, a news item, a comment, a widget

    •   Section can also contain articles. for example, you could have a page
        with a <section> full of entertainment articles, and a section of
        political news etc.
ArtiCLE vs ASIDE VS
     SECTION
• Molly Holzschlag says:
 • <section> clarifies <div>
 • <article> 'replaces' <div id="content">
 • <aside> 'replaces' <div id="sidebar">
• Chris Mills plays it safe:
  http://boblet.tumblr.com/post/130610820/
  html5-structure1
What about the DIVs?
• Marc:
 • “div has no meaning whatsoever, so there
    is nothing semantic about divs”
• Bruce says:
 • “Like all semantic questions, it depends on
    the context. If your only reason for
    wanting an element is to group stuff for
    styling, it's a div.”
<body>
 <header>
 <h1>Heading </h1>
 </header>
 <nav>
 <h3>Site Navigation</h3>
 <ul>...</ul>
 </nav>
 <section>
  <article>
 <h3>Weblog Entry</h3>
  </article>
 </section>
 <aside>
  <p>You are reading "Chocolate Rain", an entry posted on <time
datetime="2009-03-05">5 March, 2009</time>, to the <a href="#">Misty
collection</a>. See other posts in <a href="#">this collection</a>.</p>
 </aside>
 <footer>
 <p>...</p>
 </footer>
</body>
HTML5 & CSS3 Flag
HTML5 & CSS3 Flag
<script type="text/javascript">
document.createElement('header');
document.createElement('nav');
document.createElement('section');
document.createElement('article');
document.createElement('aside');
document.createElement('footer');
</script>




            http://ejohn.org/blog/html5-shiv/
HTML5 & CSS3 Flag
http://modernizr.com/
HTML5 & CSS3 Flag
<header class="no">

  <hgroup>

  
  <h1>HTML5 &amp; CSS Flag</h1>

  
  <h2>by <a href="http://christopherschmitt.com/">Christopher Schmitt</a></h2>

  </hgroup>
</header>

<article>

<h3><a href="http://usa.gov">United States of America</a></h3>
<ol>

   <li>

   
     <div id="hcard-Jack-Markell" class="vcard">

   
     <a class="url fn" href="http://delaware.gov/">Jack Markell</a>

   
     <div class="org no" data-colony="1">Delaware</div>

   
     <div class="adr no">

   
      <div class="street-address">Tatnall Building, William Penn Street, 2nd Fl.</div>

   
      <span class="locality">Dover</span>,

   
      <span class="region">DE</span>,

   
      <span class="postal-code">19901</span>

   
     </div>

   
     <div class="tel no">(302) 744-4101</div>

   
     </div>

   </li>
Some Common
       HTML Errors
• <p>&nbsp;</p>
• <p> ... <br><br><br> ... <br><br><br>...
• <h2>Subject Matter<br></h2>
• <p><h2>Subject Matter</h2></p>
• <p><img ></p>
Setting Up
the Easel
3D View of Box Model
“CSS Reset”

• http://developer.yahoo.com/yui/reset/
• http://meyerweb.com/eric/thoughts/
  2007/04/12/reset-styles/
  • http://meyerweb.com/eric/tools/css/reset/
    index.html
HTML5 & CSS3 Flag
HTML5 & CSS3 Flag
<article>

<h3><a href="http://usa.gov">United
States of America</a></h3>

<ol>
 <li>
   <div id="hcard-Jack-Markell"
class="vcard">
* {
  margin: 0;
  padding: 0;
}
body {
  margin: 5%;
  font-size: 67.5%;
}
article {
  display: block;
  width: 955px;
  margin: 0 auto;
  position: relative;
  height: 650px;
}
HTML5 & CSS3 Flag
Clearing Out
the Content
.no {
  display: none;
}
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}
<ol>
 <li>
   <div id="hcard-Jack-Markell"
class="vcard">
    <a class="url fn" href="http://
delaware.gov/">Jack Markell</a>
    <div class="org no" data-
colony="1">Delaware</div>
    <div class="adr no">
      ...
    </div>
    <div class="tel no">(302) 744-4101</
div>
   </div>
 </li>
HTML5 & CSS3 Flag
Striping
Normal Flow

• While normal flow is the default method of
  rendering a page, the placement of the
  elements can be altered
 • Floats
 • CSS position property
  • Values: absolute, relative, fixed or static
Absolute Positioning

• When an element is absolutely positioned, it
  is taken out of normal flow and positioned
  relative to the edges of its containing box,
  according to its offset properties.
• Absolutely positioned elements are ignored
  by other elements within normal flow.
HTML5 & CSS3 Flag
Relative Positioning
•   When an element is relatively positioned, it is
    initially placed within normal flow, and then
    adjusted according to its offset properties.

•   #positioned {
     position: relative;
     top: 50px;
     right: 30px;
     background-color: #eee;
    }
HTML5 & CSS3 Flag
Relative Positioning
•   The browser lays out the paragraphs according
    to normal flow, then offsets the positioned
    paragraph 50 pixels from the top, and 30 pixels
    from the right of its default position.

•   And like absolute positioning, relatively
    positioned elements can overlap other
    elements.

•   Note that if you don’t specify any offset
    properties for a relatively positioned element, it
    is placed according to normal flow.
article {
  display: block;
  width: 955px;
  margin: 0 auto;
  position: relative;
  height: 650px;
}
div[data-colony] {
  width: 955px;
  height: 50px;
  display: block;
  background: #BF0A30;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  text-indent: -9999em;
}
HTML5 & CSS3 Flag
13
Attribute Selectors
•   a[title] { /* rules */ }
    a[href] { /* rules */ }

•   p[id] { /* rules */ }
    p[class] { /* rules */ }

•   img[alt] { /* rules */ }
    img[src] { /* rules */ }

•   blockquote[cite] { /* rules */ }
Previous Solution
a[href="http://delaware.gov/"] em {
  background: white;
  top: 50px;
  left: 0;
}
a[href="http://www.georgia.gov/"] em {
  top: 100px;
  left: 0;
}
...
New Solution
div[data-colony="2"] {
  top: 50px;
  left: 0;
  background: #fff;
}
div[data-colony="3"] {
  top: 100px;
  left: 0;
}
HTML5 & CSS3 Flag
HTML5 Data Attributes
• Add custom “data” attributes to elements
• Embed information that can be scraped by
  third parties or by your own JavaScript
• More information:
  http://ejohn.org/blog/html-5-data-attributes/
• Example:
  http://sxswcss3.com/
HTML5 & CSS3 Flag
<li class="vevent" id="Party14">
 ...
 <h4 class="summary">Music Fest Welcome Dinner</
h4>
 <span class="location vcard"><span class="fn
org">Four Seasons Hotel Ballroom</span>,
 <span class="adr"
   data-longitude="-84.260799"
   data-latitude="30.456100">
 <span class="street-address">98 San Jacinto</
 span> <span class="locality">Austin</span>
 <span class="region">TX</span></span></span></
 a>
</li>
Why Encode Data?
• If we did our homework ahead of time, we
  can save processing time.
• With SXSWCSS3.com, store the longitude
  and latitude to with data attributes:
  • Keep from using the Google API saving
    processes and time.
• With CSS Flag, store which state was a
  colony and the order it was admitted to the
  union.
Why Encode Data?

• With CSS Flag, store which state was a
  colony and the order it was admitted to the
  union.
• Plus, we get additional “HTML hooks” for
  our CSS selectors
• Ergo, stripes!
Subtle Gradients

• But I need some serious CSS3 to keep my
  boss interested and my friends from laughing
  at me.
• No worries!
• Let’s look into subtle gradients.
div[data-colony="2"], div[data-colony="4"],
div[data-colony="6"], div[data-colony="8"],
div[data-colony="10"], div[data-colony="12"] {
  background-image: -webkit-gradient(
    linear, left bottom,
    left top,
    color-stop(0, rgb(255,255,255)),
    color-stop(0.69, rgb(227,227,227))
  );
  background-image: -moz-linear-gradient(
    center bottom,
    rgb(255,255,255) 0%,
    rgb(227,227,227) 69%
  );
}
div[data-colony="1"], div[data-colony="3"],
div[data-colony="5"], div[data-colony="7"],
div[data-colony="9"], div[data-colony="11"],
div[data-colony="13"] {
  border-bottom: 1px solid rgba(255,00,102,.5);
  background-image: -webkit-gradient(
    linear, left bottom,
    left top,
    color-stop(0, rgb(191,10,48)),
    color-stop(0.69, rgb(174,19,45))
  );
  background-image: -moz-linear-gradient(
    center bottom,
    rgb(191,10,48) 0%,
    rgb(174,19,45) 69%
  );
}
HTML5 & CSS3 Flag
CSS3 Gradient Picker

• http://gradients.glrzad.com/
• http://www.westciv.com/tools/gradients/
• Crossbrowser for IE8 and below?
 • http://msdn.microsoft.com/en-us/library/
    ms532997(VS.85).aspx
Pooling the Stars
HTML5 & CSS3 Flag
HTML5 & CSS3 Flag
h3 a {
  position: absolute;
  width: 440px;
  height: 350px;
  background: #002868;
  text-indent: -9999em;
  margin: 0;
  padding: 0;
  z-index: 20;
}
Getting Rid of Text
• sIFR (Scalable Inman Flash Replacement):
  http://wiki.novemberborn.net/sifr3
• Image Replacement Rundown:
  http://mezzoblue.com/tests/revised-image-
  replacement/
• Text-indent method “Google-safe”
 • Or is it?
HTML5 & CSS3 Flag
Subtle Gradients
h3 a {
  background-image: -webkit-gradient(
      linear,
      left bottom,
      left top,
      color-stop(0, rgb(0,40,104)),
      color-stop(0.5, rgb(3,27,64))
  );
  background-image: -moz-linear-gradient(
      center bottom,
      rgb(0,40,104) 0%,
      rgb(3,27,64) 50%
  );
}
HTML5 & CSS3 Flag
Stars
Previous Solution
a[href="http://www.alabama.gov/"] i {
  background-image: url(stars.gif);
  display: block;
  position: absolute;
  top: 13px;
  left: 13px;
  z-index: 50;
  width: 24px;
  height: 23px;
}
Previous Solution
• Insert nested presentational element (albeit
  small)
• Change it’s display to block
• Set width and height
• Place star graphic in the background
• Then position stars in the correct space
New Solution

• Avoid inserting presentational markup
• Avoid adding image
• Do something cooler than last year
• Everything else? Yeah, pretty much the same,
  but cool.
Adding Stars

a.fn {
  position: absolute;
  z-index: 50;
  display: block;
  color: #fff;
}
HTML5 & CSS3 Flag
Position “Stars”
/* First Row */
li:nth-child(1) a.fn {
  top: 13px;
  left: 13px;
}
li:nth-child(2) a.fn {
  top: 13px;
  left: 90px;
}
li:nth-child(3) a.fn {
  top: 13px;
  left: 167px;
}
...
HTML5 & CSS3 Flag
HTML5 & CSS3 Flag
http://www.bvfonts.com/
http://www.fontsquirrel.com/
HTML5 & CSS3 Flag
HTML5 & CSS3 Flag
Adding Stars
a.fn:before {
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-family: 'SeeingStarsRegular',
sans-serif;
  content: "W ";
  font-size: 2em;
}
HTML5 & CSS3 Flag
Adding Stars
a.fn {
  width: 2.1em;
  height: 2.1em;
  overflow: hidden;
  position: absolute;
  z-index: 50;
  display: block;
  color: #fff;
}
HTML5 & CSS3 Flag
Adding Stars
a.fn {
  width: 2.1em;
  height: 2.1em;
  overflow: hidden;
  position: absolute;
  z-index: 50;
  display: block;
  color: #fff;
  text-shadow: 0px 2px 1px #000;
}
HTML5 & CSS3 Flag
But what about my
     subtle gradients?
a.fn:before {
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-family: 'SeeingStarsRegular', sans-
serif;
  content: "W ";
  font-size: 2em;
  -webkit-mask-image: -webkit-
gradient(linear, left top, left bottom,
from(rgba(0,0,0,1)),to(rgba(0,0,0,.3)));
}
HTML5 & CSS3 Flag
Click
Everything Clicks
• Previous solution had every pixel of the flag
  clickable
  • New solution has only the Union and
    Stars as clickable
• Due to using presentational element inside
  anchor: <a><i></i></a>
• New solution:
 • Again only one link, but would like to
    avoid hard coding link
vCard Microformat
<div id="hcard-Jack-Markell" class="vcard">
    <a class="url fn" href="http://
delaware.gov/">Jack Markell</a>
    <div class="org no" data-
colony="1">Delaware</div>
    <div class="adr no">
     <div class="street-address">Tatnall
Building, William Penn Street, 2nd Fl.</
div><span class="locality">Dover</span>,
<span class="region">DE</span>, <span
class="postal-code">19901</span>
</div>
 <div class="tel no">(302) 744-4101</div>
</div>
Enter jQuery


<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/
jquery/1.4.2/jquery.min.js"></script>
Enter jQuery

<script type="text/javascript">
 $(document).ready(function(){
   $("div[data-colony]");
     }
   );
 });
</script>
Enter jQuery


<script type="text/javascript">
 $(document).ready(function(){
   $("div[data-colony]").wrap();
 });
</script>
Enter jQuery

<script type="text/javascript">
 $(document).ready(function(){
   $("div[data-colony]").wrap(function() {
      }
   );
 });
</script>
Enter jQuery

<script type="text/javascript">
 $(document).ready(function(){
   $("div[data-colony]").wrap(function() {
       return '<a href="' +
$(this) + '" />';
     }
   );
 });
</script>
Enter jQuery
<script type="text/javascript">
 $(document).ready(function(){
   $("div[data-colony]").wrap(function() {
       return '<a href="' +
$(this)
.parent("div").children("a:first") + '" /
>';
     }
   );
 });
</script>
Enter jQuery
<script type="text/javascript">
 $(document).ready(function(){
   $("div[data-colony]").wrap(function() {
       return '<a href="' +
$(this)
.parent("div").children("a:first")
.attr("href") + '" />';
     }
   );
 });
</script>
Links around Blocks

<a href="http://www.state.nj.us">
 <div class="org no" data-colony="3">New
 Jersey</div>
</a>
HTML5 & CSS3 Flag
Transform &
Final Touches
Transform Stars

a.fn:hover {
  font-size: 4em;
  -webkit-transform: rotate(270deg);
  z-index: 100;
}
HTML5 & CSS3 Flag
Transform Stars

a.fn:hover {
  font-size: 4em;
  -webkit-transform: rotate(270deg)
translate(1em,-1em);
  z-index: 100;
}
HTML5 & CSS3 Flag
Transform Stars
a.fn:hover {
  font-size: 4em;
  -webkit-transform: rotate(270deg)
translate(1em,-1em);
  z-index: 100;
}
li:nth-child(2n) a.fn:hover {
  font-size: 4em;
  -webkit-transform: rotate(-270deg)
translate(-1em,1em);
  z-index: 100;
}
HTML5 & CSS3 Flag
webkit-transform-origin

• How does something rotate?
• Default is center of the object
 • but you can set the values like
    background-position to change the origin
    point
  • webkit-transform-origin: 100% 0;
Box-Shadow
article {
  display: block;
  width: 955px;
  margin: 0 auto;
  position: relative;
  height: 650px;
  -webkit-box-shadow: 0px .4em .4em black;
}
HTML5 & CSS3 Flag
Fireworks
Fireworks

• What’s the 4th of July without some
  fireworks?
• Let’s first get two images
 • Colorful image
 • Firework mask
HTML5 & CSS3 Flag
HTML5 & CSS3 Flag
Multiple
   Background Images
body {
  margin: 5%;
  padding: 0;
  font-size: 67.5%;
  background-image: url("fireworks.png"),
url("bkgd.jpg");
  background-position: -40% -20%, center;
}
HTML5 & CSS3 Flag
HTML5 & CSS3 Flag
HTML5 & CSS3 Flag
HTML5 & CSS3 Flag
every now and then,
testing what we know
   decreases our
    limitations and
 expands our skill set
More Resources

• Gradients on text;
  http://nicewebtype.com/notes/2009/07/24/
  pure-css-text-gradient-no-pngs/
• Differences between HTML4 and HTML5:
  http://www.viget.com/inspire/recapping-the-
  w3cs-html5-differences-from-html4-
  document/
More Resources

• HTML5 & Accessibility:
  http://www.slideshare.net/teleject/access-
  u-2010-html5-accessibility
• CSS3 Workshop:
  http://www.slideshare.net/teleject/
  webvisions-2010-css3-workshop-afternoon
THANK YOU!


Christopher Schmitt
http://twitter.com/@teleject
ChristopherSchmitt.com

More Related Content

PDF
Modular HTML, CSS, & JS Workshop
Shay Howe
 
PDF
HTML5 Essentials
Marc Grabanski
 
KEY
Slow kinda sucks
Tim Wright
 
PPTX
Introduction to HTML5
Terry Ryan
 
PDF
[Access U 2010] HTML5 & Accessibility
Christopher Schmitt
 
PDF
Modular HTML & CSS
Shay Howe
 
PDF
Modular HTML & CSS Workshop
Shay Howe
 
PDF
Modular HTML & CSS Turbo Workshop
Shay Howe
 
Modular HTML, CSS, & JS Workshop
Shay Howe
 
HTML5 Essentials
Marc Grabanski
 
Slow kinda sucks
Tim Wright
 
Introduction to HTML5
Terry Ryan
 
[Access U 2010] HTML5 & Accessibility
Christopher Schmitt
 
Modular HTML & CSS
Shay Howe
 
Modular HTML & CSS Workshop
Shay Howe
 
Modular HTML & CSS Turbo Workshop
Shay Howe
 

What's hot (20)

KEY
Semantic HTML5
Terry Ryan
 
PDF
An Introduction To HTML5
Robert Nyman
 
PPTX
Introduction to HTML5 and CSS3 (revised)
Joseph Lewis
 
PDF
[PSU Web 2011] HTML5 Design
Christopher Schmitt
 
KEY
2022 HTML5: The future is now
Gonzalo Cordero
 
PPTX
Css 2c (2) (1) (1) (2)
gng542
 
PPTX
Rapid and Responsive - UX to Prototype with Bootstrap
Josh Jeffryes
 
PDF
[heweb11] HTML5 Makeover
Christopher Schmitt
 
PDF
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
Christopher Schmitt
 
KEY
Html5的应用与推行
Sofish Lin
 
PDF
Prototyping w/HTML5 and CSS3
Todd Zaki Warfel
 
PDF
The Users are Restless
Terry Ryan
 
PDF
Doing it in style - creating beautiful sites, the web standards way / WebDD /...
Patrick Lauke
 
PDF
Take Your Markup to 11
Emily Lewis
 
PDF
Layout with CSS
Mike Crabb
 
PDF
Joomla Technical SEO
Webshop and websites by: Webcreatives
 
PDF
Yuicss R7
oscon2007
 
PDF
[edUi] HTML5 Workshop
Christopher Schmitt
 
PDF
Real World Web Standards
gleddy
 
PDF
Decoupling the Front-end with Modular CSS
Julie Cameron
 
Semantic HTML5
Terry Ryan
 
An Introduction To HTML5
Robert Nyman
 
Introduction to HTML5 and CSS3 (revised)
Joseph Lewis
 
[PSU Web 2011] HTML5 Design
Christopher Schmitt
 
2022 HTML5: The future is now
Gonzalo Cordero
 
Css 2c (2) (1) (1) (2)
gng542
 
Rapid and Responsive - UX to Prototype with Bootstrap
Josh Jeffryes
 
[heweb11] HTML5 Makeover
Christopher Schmitt
 
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
Christopher Schmitt
 
Html5的应用与推行
Sofish Lin
 
Prototyping w/HTML5 and CSS3
Todd Zaki Warfel
 
The Users are Restless
Terry Ryan
 
Doing it in style - creating beautiful sites, the web standards way / WebDD /...
Patrick Lauke
 
Take Your Markup to 11
Emily Lewis
 
Layout with CSS
Mike Crabb
 
Yuicss R7
oscon2007
 
[edUi] HTML5 Workshop
Christopher Schmitt
 
Real World Web Standards
gleddy
 
Decoupling the Front-end with Modular CSS
Julie Cameron
 
Ad

Similar to HTML5 & CSS3 Flag (20)

PDF
Source Ordered Templates - - Joomla!Days NL 2009 #jd09nl
Joomla!Days Netherlands
 
PDF
[O'Reilly] HTML5 Design
Christopher Schmitt
 
PDF
ViA Bootstrap 4
imdurgesh
 
PDF
TOSSUG HTML5 讀書會 新標籤與表單
偉格 高
 
PPTX
Diazo: Bridging Designers and Programmers
TsungWei Hu
 
PPT
Css
Sumit Gupta
 
KEY
Artdm171 Week4 Tags
Gilbert Guerrero
 
PDF
Advanced CSS Troubleshooting & Efficiency
Denise Jacobs
 
PDF
Advanced CSS Troubleshooting
Denise Jacobs
 
PDF
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Erin M. Kidwell
 
PPTX
HTML CSS and Web Development
Rahul Mishra
 
KEY
Html5
Satoshi Kikuchi
 
PDF
Implementing Awesome: An HTML5/CSS3 Workshop
Shoshi Roberts
 
PPTX
HTML5
Brandon Byars
 
PPT
Responsive content
honzie
 
PDF
Intro to HTML 5 / CSS 3
Tadpole Collective
 
PDF
Thinkful - Frontend Crash Course - Intro to HTML/CSS
TJ Stalcup
 
PDF
Html css crash course may 11th, atlanta
Thinkful
 
PDF
A Primer on HTML 5 - By Nick Armstrong
Nick Armstrong
 
PPT
css.ppt
DakshPratapSingh1
 
Source Ordered Templates - - Joomla!Days NL 2009 #jd09nl
Joomla!Days Netherlands
 
[O'Reilly] HTML5 Design
Christopher Schmitt
 
ViA Bootstrap 4
imdurgesh
 
TOSSUG HTML5 讀書會 新標籤與表單
偉格 高
 
Diazo: Bridging Designers and Programmers
TsungWei Hu
 
Artdm171 Week4 Tags
Gilbert Guerrero
 
Advanced CSS Troubleshooting & Efficiency
Denise Jacobs
 
Advanced CSS Troubleshooting
Denise Jacobs
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Erin M. Kidwell
 
HTML CSS and Web Development
Rahul Mishra
 
Implementing Awesome: An HTML5/CSS3 Workshop
Shoshi Roberts
 
Responsive content
honzie
 
Intro to HTML 5 / CSS 3
Tadpole Collective
 
Thinkful - Frontend Crash Course - Intro to HTML/CSS
TJ Stalcup
 
Html css crash course may 11th, atlanta
Thinkful
 
A Primer on HTML 5 - By Nick Armstrong
Nick Armstrong
 
Ad

More from Christopher Schmitt (20)

PDF
Keeping Colors from Killing Your Product
Christopher Schmitt
 
PDF
[funka] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
[Austin WordPress Meetup] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
[CSSDevConf] Adaptive Images in Responsive Web Design 2014
Christopher Schmitt
 
PDF
[rwdsummit] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
[artifactconf] Github for People Who Don't Code
Christopher Schmitt
 
PDF
[cssdevconf] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
[parisweb] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
[peachpit] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
[jqconatx] Adaptive Images for Responsive Web Design
Christopher Schmitt
 
PDF
[wvbcn] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
[drupalcampatx] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
[refreshpitt] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
[psuweb] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
GitHub for People Who Don't Code
Christopher Schmitt
 
PDF
[wcatx] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
[HEWEBFL] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
[refreshaustin] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
PDF
[sxsw2013] Extremely Compressed JPEGs
Christopher Schmitt
 
PDF
[amigos] HTML5 and CSS3
Christopher Schmitt
 
Keeping Colors from Killing Your Product
Christopher Schmitt
 
[funka] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[Austin WordPress Meetup] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[CSSDevConf] Adaptive Images in Responsive Web Design 2014
Christopher Schmitt
 
[rwdsummit] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[artifactconf] Github for People Who Don't Code
Christopher Schmitt
 
[cssdevconf] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[parisweb] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[peachpit] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[jqconatx] Adaptive Images for Responsive Web Design
Christopher Schmitt
 
[wvbcn] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[drupalcampatx] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[refreshpitt] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[psuweb] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
GitHub for People Who Don't Code
Christopher Schmitt
 
[wcatx] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[HEWEBFL] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[refreshaustin] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[sxsw2013] Extremely Compressed JPEGs
Christopher Schmitt
 
[amigos] HTML5 and CSS3
Christopher Schmitt
 

Recently uploaded (20)

PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
This slide provides an overview Technology
mineshkharadi333
 
PPTX
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PPTX
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PPT
Coupa-Kickoff-Meeting-Template presentai
annapureddyn
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
PPTX
Stamford - Community User Group Leaders_ Agentblazer Status, AI Sustainabilit...
Amol Dixit
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PDF
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
PDF
Why Your AI & Cybersecurity Hiring Still Misses the Mark in 2025
Virtual Employee Pvt. Ltd.
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Chapter 1 Introduction to CV and IP Lecture Note.pdf
Getnet Tigabie Askale -(GM)
 
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
This slide provides an overview Technology
mineshkharadi333
 
How to Build a Scalable Micro-Investing Platform in 2025 - A Founder’s Guide ...
Third Rock Techkno
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
ChatGPT's Deck on The Enduring Legacy of Fax Machines
Greg Swan
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Coupa-Kickoff-Meeting-Template presentai
annapureddyn
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Event Presentation Google Cloud Next Extended 2025
minhtrietgect
 
Stamford - Community User Group Leaders_ Agentblazer Status, AI Sustainabilit...
Amol Dixit
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
Building High-Performance Oracle Teams: Strategic Staffing for Database Manag...
SMACT Works
 
Why Your AI & Cybersecurity Hiring Still Misses the Mark in 2025
Virtual Employee Pvt. Ltd.
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Chapter 1 Introduction to CV and IP Lecture Note.pdf
Getnet Tigabie Askale -(GM)
 
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 

HTML5 & CSS3 Flag

  • 1. HTML5 & CSS3 Flag Christopher Schmitt ChristopherSchmitt.com http://twitter.com/@teleject
  • 3. how do we go about ? solving our problems
  • 4. we solve problems by realizing The Limitations
  • 5. and we realize that Our Experience limits our thinking
  • 7. It’s Always a Plumbing Problem
  • 14. Test limitations to gain new experience
  • 22. <h1><a href="http:// www.usa.gov/">United States of America</ a></h1> <ol><!-- Listing of States --> <li><a href="http://www.alabama.gov/"> <strong>State of Alabama</strong><i></i> </a></li> <li><a href="http://www.ct.gov/"> <em><strong>State of Connecticut</ strong></em><i></i> </a></li> ... </ol>
  • 24. HTML 4.01 Transitional DTD: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> XHTML 1.0 Transitional DTD: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • 25. <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>DOWNTOWN ORLANDO RESTAURANTS</title> </head> <body> <h1>....</h1> <p>...</p> </body> </html>
  • 26. EXERCISE • Go to HTML validator at http://validator.w3.org/ #validate_by_input • Then type the following HTML (below) and hit validate: <!DOCTYPE html> <title>Small HTML5</title> <p>Hello world</p>
  • 30. Relearning Syntax • Attribute quotes “not really” required • UPPERCASE and lowercase HTML elements allowed • So is CaMeLcAse typing. • No more need to do self-closing tags like <IMG /> or <BR /> • Also, no more minimalization. So, this is okay: <dl compact> • Basically, everything that was bad from HTML4 in XHTML5 is good again. • Full circle, baby!
  • 31. DIV ID=”header” DIV ID=”nav” DIV ID=”section” DIV ID=”sidecolumn” DIV ID=”article” DIV ID=”footer”
  • 32. <HEADER> <NAV> <SECTION> <ASIDE> <ARTICLE> <FOOTER>
  • 33. ARTICLE vs ASIDE vs SECTION • Marc Grabsanki says: • Article is unique content to that document • Section is a thematic grouping of content, typically with a heading - pretty generic • Aside is content that is tangentially related, like a sidebar div has no meaning whatsoever, so there is nothing semantic about divs
  • 34. ArtiCLE vs ASIDE VS SECTION • Bruce Lawson says: • Aside is for something tangentially related to its parent element. Or, if a sibling to the main content, it can be used to make sidebars of navigation, recent comments, colophons, author bios etc. • Article is a discrete piece of content that could be syndicated - a blog post, a news item, a comment, a widget • Section can also contain articles. for example, you could have a page with a <section> full of entertainment articles, and a section of political news etc.
  • 35. ArtiCLE vs ASIDE VS SECTION • Molly Holzschlag says: • <section> clarifies <div> • <article> 'replaces' <div id="content"> • <aside> 'replaces' <div id="sidebar"> • Chris Mills plays it safe: http://boblet.tumblr.com/post/130610820/ html5-structure1
  • 36. What about the DIVs? • Marc: • “div has no meaning whatsoever, so there is nothing semantic about divs” • Bruce says: • “Like all semantic questions, it depends on the context. If your only reason for wanting an element is to group stuff for styling, it's a div.”
  • 37. <body> <header> <h1>Heading </h1> </header> <nav> <h3>Site Navigation</h3> <ul>...</ul> </nav> <section> <article> <h3>Weblog Entry</h3> </article> </section> <aside> <p>You are reading "Chocolate Rain", an entry posted on <time datetime="2009-03-05">5 March, 2009</time>, to the <a href="#">Misty collection</a>. See other posts in <a href="#">this collection</a>.</p> </aside> <footer> <p>...</p> </footer> </body>
  • 44. <header class="no"> <hgroup> <h1>HTML5 &amp; CSS Flag</h1> <h2>by <a href="http://christopherschmitt.com/">Christopher Schmitt</a></h2> </hgroup> </header> <article> <h3><a href="http://usa.gov">United States of America</a></h3> <ol> <li> <div id="hcard-Jack-Markell" class="vcard"> <a class="url fn" href="http://delaware.gov/">Jack Markell</a> <div class="org no" data-colony="1">Delaware</div> <div class="adr no"> <div class="street-address">Tatnall Building, William Penn Street, 2nd Fl.</div> <span class="locality">Dover</span>, <span class="region">DE</span>, <span class="postal-code">19901</span> </div> <div class="tel no">(302) 744-4101</div> </div> </li>
  • 45. Some Common HTML Errors • <p>&nbsp;</p> • <p> ... <br><br><br> ... <br><br><br>... • <h2>Subject Matter<br></h2> • <p><h2>Subject Matter</h2></p> • <p><img ></p>
  • 47. 3D View of Box Model
  • 48. “CSS Reset” • http://developer.yahoo.com/yui/reset/ • http://meyerweb.com/eric/thoughts/ 2007/04/12/reset-styles/ • http://meyerweb.com/eric/tools/css/reset/ index.html
  • 51. <article> <h3><a href="http://usa.gov">United States of America</a></h3> <ol> <li> <div id="hcard-Jack-Markell" class="vcard">
  • 52. * { margin: 0; padding: 0; } body { margin: 5%; font-size: 67.5%; } article { display: block; width: 955px; margin: 0 auto; position: relative; height: 650px; }
  • 55. .no { display: none; } ol { list-style: none; margin: 0; padding: 0; }
  • 56. <ol> <li> <div id="hcard-Jack-Markell" class="vcard"> <a class="url fn" href="http:// delaware.gov/">Jack Markell</a> <div class="org no" data- colony="1">Delaware</div> <div class="adr no"> ... </div> <div class="tel no">(302) 744-4101</ div> </div> </li>
  • 59. Normal Flow • While normal flow is the default method of rendering a page, the placement of the elements can be altered • Floats • CSS position property • Values: absolute, relative, fixed or static
  • 60. Absolute Positioning • When an element is absolutely positioned, it is taken out of normal flow and positioned relative to the edges of its containing box, according to its offset properties. • Absolutely positioned elements are ignored by other elements within normal flow.
  • 62. Relative Positioning • When an element is relatively positioned, it is initially placed within normal flow, and then adjusted according to its offset properties. • #positioned { position: relative; top: 50px; right: 30px; background-color: #eee; }
  • 64. Relative Positioning • The browser lays out the paragraphs according to normal flow, then offsets the positioned paragraph 50 pixels from the top, and 30 pixels from the right of its default position. • And like absolute positioning, relatively positioned elements can overlap other elements. • Note that if you don’t specify any offset properties for a relatively positioned element, it is placed according to normal flow.
  • 65. article { display: block; width: 955px; margin: 0 auto; position: relative; height: 650px; } div[data-colony] { width: 955px; height: 50px; display: block; background: #BF0A30; position: absolute; top: 0; left: 0; z-index: 1; text-indent: -9999em; }
  • 67. 13
  • 68. Attribute Selectors • a[title] { /* rules */ } a[href] { /* rules */ } • p[id] { /* rules */ } p[class] { /* rules */ } • img[alt] { /* rules */ } img[src] { /* rules */ } • blockquote[cite] { /* rules */ }
  • 69. Previous Solution a[href="http://delaware.gov/"] em { background: white; top: 50px; left: 0; } a[href="http://www.georgia.gov/"] em { top: 100px; left: 0; } ...
  • 70. New Solution div[data-colony="2"] { top: 50px; left: 0; background: #fff; } div[data-colony="3"] { top: 100px; left: 0; }
  • 72. HTML5 Data Attributes • Add custom “data” attributes to elements • Embed information that can be scraped by third parties or by your own JavaScript • More information: http://ejohn.org/blog/html-5-data-attributes/ • Example: http://sxswcss3.com/
  • 74. <li class="vevent" id="Party14"> ... <h4 class="summary">Music Fest Welcome Dinner</ h4> <span class="location vcard"><span class="fn org">Four Seasons Hotel Ballroom</span>, <span class="adr" data-longitude="-84.260799" data-latitude="30.456100"> <span class="street-address">98 San Jacinto</ span> <span class="locality">Austin</span> <span class="region">TX</span></span></span></ a> </li>
  • 75. Why Encode Data? • If we did our homework ahead of time, we can save processing time. • With SXSWCSS3.com, store the longitude and latitude to with data attributes: • Keep from using the Google API saving processes and time. • With CSS Flag, store which state was a colony and the order it was admitted to the union.
  • 76. Why Encode Data? • With CSS Flag, store which state was a colony and the order it was admitted to the union. • Plus, we get additional “HTML hooks” for our CSS selectors • Ergo, stripes!
  • 77. Subtle Gradients • But I need some serious CSS3 to keep my boss interested and my friends from laughing at me. • No worries! • Let’s look into subtle gradients.
  • 78. div[data-colony="2"], div[data-colony="4"], div[data-colony="6"], div[data-colony="8"], div[data-colony="10"], div[data-colony="12"] { background-image: -webkit-gradient( linear, left bottom, left top, color-stop(0, rgb(255,255,255)), color-stop(0.69, rgb(227,227,227)) ); background-image: -moz-linear-gradient( center bottom, rgb(255,255,255) 0%, rgb(227,227,227) 69% ); }
  • 79. div[data-colony="1"], div[data-colony="3"], div[data-colony="5"], div[data-colony="7"], div[data-colony="9"], div[data-colony="11"], div[data-colony="13"] { border-bottom: 1px solid rgba(255,00,102,.5); background-image: -webkit-gradient( linear, left bottom, left top, color-stop(0, rgb(191,10,48)), color-stop(0.69, rgb(174,19,45)) ); background-image: -moz-linear-gradient( center bottom, rgb(191,10,48) 0%, rgb(174,19,45) 69% ); }
  • 81. CSS3 Gradient Picker • http://gradients.glrzad.com/ • http://www.westciv.com/tools/gradients/ • Crossbrowser for IE8 and below? • http://msdn.microsoft.com/en-us/library/ ms532997(VS.85).aspx
  • 85. h3 a { position: absolute; width: 440px; height: 350px; background: #002868; text-indent: -9999em; margin: 0; padding: 0; z-index: 20; }
  • 86. Getting Rid of Text • sIFR (Scalable Inman Flash Replacement): http://wiki.novemberborn.net/sifr3 • Image Replacement Rundown: http://mezzoblue.com/tests/revised-image- replacement/ • Text-indent method “Google-safe” • Or is it?
  • 88. Subtle Gradients h3 a { background-image: -webkit-gradient( linear, left bottom, left top, color-stop(0, rgb(0,40,104)), color-stop(0.5, rgb(3,27,64)) ); background-image: -moz-linear-gradient( center bottom, rgb(0,40,104) 0%, rgb(3,27,64) 50% ); }
  • 90. Stars
  • 91. Previous Solution a[href="http://www.alabama.gov/"] i { background-image: url(stars.gif); display: block; position: absolute; top: 13px; left: 13px; z-index: 50; width: 24px; height: 23px; }
  • 92. Previous Solution • Insert nested presentational element (albeit small) • Change it’s display to block • Set width and height • Place star graphic in the background • Then position stars in the correct space
  • 93. New Solution • Avoid inserting presentational markup • Avoid adding image • Do something cooler than last year • Everything else? Yeah, pretty much the same, but cool.
  • 94. Adding Stars a.fn { position: absolute; z-index: 50; display: block; color: #fff; }
  • 96. Position “Stars” /* First Row */ li:nth-child(1) a.fn { top: 13px; left: 13px; } li:nth-child(2) a.fn { top: 13px; left: 90px; } li:nth-child(3) a.fn { top: 13px; left: 167px; } ...
  • 103. Adding Stars a.fn:before { font-weight: normal; font-style: normal; line-height: normal; font-family: 'SeeingStarsRegular', sans-serif; content: "W "; font-size: 2em; }
  • 105. Adding Stars a.fn { width: 2.1em; height: 2.1em; overflow: hidden; position: absolute; z-index: 50; display: block; color: #fff; }
  • 107. Adding Stars a.fn { width: 2.1em; height: 2.1em; overflow: hidden; position: absolute; z-index: 50; display: block; color: #fff; text-shadow: 0px 2px 1px #000; }
  • 109. But what about my subtle gradients? a.fn:before { font-weight: normal; font-style: normal; line-height: normal; font-family: 'SeeingStarsRegular', sans- serif; content: "W "; font-size: 2em; -webkit-mask-image: -webkit- gradient(linear, left top, left bottom, from(rgba(0,0,0,1)),to(rgba(0,0,0,.3))); }
  • 111. Click
  • 112. Everything Clicks • Previous solution had every pixel of the flag clickable • New solution has only the Union and Stars as clickable • Due to using presentational element inside anchor: <a><i></i></a> • New solution: • Again only one link, but would like to avoid hard coding link
  • 113. vCard Microformat <div id="hcard-Jack-Markell" class="vcard"> <a class="url fn" href="http:// delaware.gov/">Jack Markell</a> <div class="org no" data- colony="1">Delaware</div> <div class="adr no"> <div class="street-address">Tatnall Building, William Penn Street, 2nd Fl.</ div><span class="locality">Dover</span>, <span class="region">DE</span>, <span class="postal-code">19901</span> </div> <div class="tel no">(302) 744-4101</div> </div>
  • 115. Enter jQuery <script type="text/javascript"> $(document).ready(function(){ $("div[data-colony]"); } ); }); </script>
  • 116. Enter jQuery <script type="text/javascript"> $(document).ready(function(){ $("div[data-colony]").wrap(); }); </script>
  • 117. Enter jQuery <script type="text/javascript"> $(document).ready(function(){ $("div[data-colony]").wrap(function() { } ); }); </script>
  • 118. Enter jQuery <script type="text/javascript"> $(document).ready(function(){ $("div[data-colony]").wrap(function() { return '<a href="' + $(this) + '" />'; } ); }); </script>
  • 119. Enter jQuery <script type="text/javascript"> $(document).ready(function(){ $("div[data-colony]").wrap(function() { return '<a href="' + $(this) .parent("div").children("a:first") + '" / >'; } ); }); </script>
  • 120. Enter jQuery <script type="text/javascript"> $(document).ready(function(){ $("div[data-colony]").wrap(function() { return '<a href="' + $(this) .parent("div").children("a:first") .attr("href") + '" />'; } ); }); </script>
  • 121. Links around Blocks <a href="http://www.state.nj.us"> <div class="org no" data-colony="3">New Jersey</div> </a>
  • 124. Transform Stars a.fn:hover { font-size: 4em; -webkit-transform: rotate(270deg); z-index: 100; }
  • 126. Transform Stars a.fn:hover { font-size: 4em; -webkit-transform: rotate(270deg) translate(1em,-1em); z-index: 100; }
  • 128. Transform Stars a.fn:hover { font-size: 4em; -webkit-transform: rotate(270deg) translate(1em,-1em); z-index: 100; } li:nth-child(2n) a.fn:hover { font-size: 4em; -webkit-transform: rotate(-270deg) translate(-1em,1em); z-index: 100; }
  • 130. webkit-transform-origin • How does something rotate? • Default is center of the object • but you can set the values like background-position to change the origin point • webkit-transform-origin: 100% 0;
  • 131. Box-Shadow article { display: block; width: 955px; margin: 0 auto; position: relative; height: 650px; -webkit-box-shadow: 0px .4em .4em black; }
  • 134. Fireworks • What’s the 4th of July without some fireworks? • Let’s first get two images • Colorful image • Firework mask
  • 137. Multiple Background Images body { margin: 5%; padding: 0; font-size: 67.5%; background-image: url("fireworks.png"), url("bkgd.jpg"); background-position: -40% -20%, center; }
  • 142. every now and then, testing what we know decreases our limitations and expands our skill set
  • 143. More Resources • Gradients on text; http://nicewebtype.com/notes/2009/07/24/ pure-css-text-gradient-no-pngs/ • Differences between HTML4 and HTML5: http://www.viget.com/inspire/recapping-the- w3cs-html5-differences-from-html4- document/
  • 144. More Resources • HTML5 & Accessibility: http://www.slideshare.net/teleject/access- u-2010-html5-accessibility • CSS3 Workshop: http://www.slideshare.net/teleject/ webvisions-2010-css3-workshop-afternoon