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
PDF
HTML5 Essentials
KEY
Slow kinda sucks
PPTX
Introduction to HTML5
PDF
[Access U 2010] HTML5 & Accessibility
PDF
Modular HTML & CSS
PDF
Modular HTML & CSS Workshop
PDF
Modular HTML & CSS Turbo Workshop
Modular HTML, CSS, & JS Workshop
HTML5 Essentials
Slow kinda sucks
Introduction to HTML5
[Access U 2010] HTML5 & Accessibility
Modular HTML & CSS
Modular HTML & CSS Workshop
Modular HTML & CSS Turbo Workshop

What's hot (20)

KEY
Semantic HTML5
PDF
An Introduction To HTML5
PPTX
Introduction to HTML5 and CSS3 (revised)
PDF
[PSU Web 2011] HTML5 Design
KEY
2022 HTML5: The future is now
PPTX
Css 2c (2) (1) (1) (2)
PPTX
Rapid and Responsive - UX to Prototype with Bootstrap
PDF
[heweb11] HTML5 Makeover
PDF
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
KEY
Html5的应用与推行
PDF
Prototyping w/HTML5 and CSS3
PDF
The Users are Restless
PDF
Doing it in style - creating beautiful sites, the web standards way / WebDD /...
PDF
Take Your Markup to 11
PDF
Layout with CSS
PDF
PDF
Yuicss R7
PDF
[edUi] HTML5 Workshop
PDF
Real World Web Standards
PDF
Decoupling the Front-end with Modular CSS
Semantic HTML5
An Introduction To HTML5
Introduction to HTML5 and CSS3 (revised)
[PSU Web 2011] HTML5 Design
2022 HTML5: The future is now
Css 2c (2) (1) (1) (2)
Rapid and Responsive - UX to Prototype with Bootstrap
[heweb11] HTML5 Makeover
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
Html5的应用与推行
Prototyping w/HTML5 and CSS3
The Users are Restless
Doing it in style - creating beautiful sites, the web standards way / WebDD /...
Take Your Markup to 11
Layout with CSS
Yuicss R7
[edUi] HTML5 Workshop
Real World Web Standards
Decoupling the Front-end with Modular CSS
Ad

Similar to HTML5 & CSS3 Flag (20)

KEY
Html5, a gentle introduction
KEY
Html 5, a gentle introduction
PDF
Intro to HTML and CSS basics
PPTX
HTML5 introduction
PDF
[O'Reilly] HTML5 Design
PPT
Chapter 6 - Web Design
PDF
Intro to html, css & sass
PPTX
Cascading Style Sheets
PDF
Html5 p resentation by techmodi
PPTX
Castro Chapter 3
PPTX
Introduction to HTML and CSS
PDF
Html5 quick-learning-quide
PDF
Html5 quick-learning-quide
PDF
Html5 quick-learning-quide
PDF
Html5 quick learning guide
PPT
xhtml_css.ppt
PPT
Basic Knowldege about CSS Prepared for VV softech solution (2).ppt
PDF
Html5 semantics
DOCX
ARTICULOENINGLES
DOCX
Html n css tutorial
Html5, a gentle introduction
Html 5, a gentle introduction
Intro to HTML and CSS basics
HTML5 introduction
[O'Reilly] HTML5 Design
Chapter 6 - Web Design
Intro to html, css & sass
Cascading Style Sheets
Html5 p resentation by techmodi
Castro Chapter 3
Introduction to HTML and CSS
Html5 quick-learning-quide
Html5 quick-learning-quide
Html5 quick-learning-quide
Html5 quick learning guide
xhtml_css.ppt
Basic Knowldege about CSS Prepared for VV softech solution (2).ppt
Html5 semantics
ARTICULOENINGLES
Html n css tutorial
Ad

More from Christopher Schmitt (20)

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

Recently uploaded (20)

PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Cloud computing and distributed systems.
PPT
Teaching material agriculture food technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
A Presentation on Artificial Intelligence
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Encapsulation theory and applications.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Electronic commerce courselecture one. Pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Empathic Computing: Creating Shared Understanding
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Cloud computing and distributed systems.
Teaching material agriculture food technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Spectral efficient network and resource selection model in 5G networks
Mobile App Security Testing_ A Comprehensive Guide.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
A Presentation on Artificial Intelligence
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Dropbox Q2 2025 Financial Results & Investor Presentation
Encapsulation theory and applications.pdf
Understanding_Digital_Forensics_Presentation.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Reach Out and Touch Someone: Haptics and Empathic Computing
Electronic commerce courselecture one. Pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Empathic Computing: Creating Shared Understanding

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