SlideShare una empresa de Scribd logo
1 de 145
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
It’s Always a
    Plumbing
     Problem
Our browsers
Limit our design
Test limitations
   to gain new
  experience
HTML+CSS
Semantic
Markup
91
http://www.w3.org/TR/html4/index/elements.html
<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>
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>
<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/
http://modernizr.com/
<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
<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;
}
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>
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.
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;
    }
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;
}
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 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/
<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%
  );
}
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
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?
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%
  );
}
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;
}
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;
}
...
http://www.bvfonts.com/
http://www.fontsquirrel.com/
Adding Stars
a.fn:before {
  font-weight: normal;
  font-style: normal;
  line-height: normal;
  font-family: 'SeeingStarsRegular',
sans-serif;
  content: "W ";
  font-size: 2em;
}
Adding Stars
a.fn {
  width: 2.1em;
  height: 2.1em;
  overflow: hidden;
  position: absolute;
  z-index: 50;
  display: block;
  color: #fff;
}
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;
}
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)));
}
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>
Transform &
Final Touches
Transform Stars

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

a.fn:hover {
  font-size: 4em;
  -webkit-transform: rotate(270deg)
translate(1em,-1em);
  z-index: 100;
}
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;
}
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;
}
Fireworks
Fireworks

• What’s the 4th of July without some
  fireworks?
• Let’s first get two images
 • Colorful image
 • Firework mask
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;
}
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

Más contenido relacionado

La actualidad más candente

Semantic HTML5
Semantic HTML5Semantic HTML5
Semantic HTML5Terry Ryan
 
An Introduction To HTML5
An Introduction To HTML5An Introduction To HTML5
An Introduction To HTML5Robert Nyman
 
Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Introduction to HTML5 and CSS3 (revised)
Introduction to HTML5 and CSS3 (revised)Joseph Lewis
 
2022 HTML5: The future is now
2022 HTML5: The future is now2022 HTML5: The future is now
2022 HTML5: The future is nowGonzalo Cordero
 
Css 2c (2) (1) (1) (2)
Css 2c (2) (1) (1) (2)Css 2c (2) (1) (1) (2)
Css 2c (2) (1) (1) (2)gng542
 
Rapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapRapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapJosh Jeffryes
 
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)
[HEWEBAR 2012] Beyond Desktop Browsing (HTML5)Christopher Schmitt
 
Html5的应用与推行
Html5的应用与推行Html5的应用与推行
Html5的应用与推行Sofish Lin
 
Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3Prototyping w/HTML5 and CSS3
Prototyping w/HTML5 and CSS3Todd Zaki Warfel
 
The Users are Restless
The Users are RestlessThe Users are Restless
The Users are RestlessTerry Ryan
 
Doing it in style - creating beautiful sites, the web standards way / WebDD /...
Doing it in style - creating beautiful sites, the web standards way / WebDD /...Doing it in style - creating beautiful sites, the web standards way / WebDD /...
Doing it in style - creating beautiful sites, the web standards way / WebDD /...Patrick Lauke
 
Take Your Markup to 11
Take Your Markup to 11Take Your Markup to 11
Take Your Markup to 11Emily Lewis
 
Layout with CSS
Layout with CSSLayout with CSS
Layout with CSSMike Crabb
 
Real World Web Standards
Real World Web StandardsReal World Web Standards
Real World Web Standardsgleddy
 
Decoupling the Front-end with Modular CSS
Decoupling the Front-end with Modular CSSDecoupling the Front-end with Modular CSS
Decoupling the Front-end with Modular CSSJulie Cameron
 

La actualidad más candente (20)

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

Similar a HTML5 & CSS3 Flag Styling Techniques

Source Ordered Templates - - Joomla!Days NL 2009 #jd09nl
Source Ordered Templates - - Joomla!Days NL 2009 #jd09nlSource Ordered Templates - - Joomla!Days NL 2009 #jd09nl
Source Ordered Templates - - Joomla!Days NL 2009 #jd09nlJoomla!Days Netherlands
 
ViA Bootstrap 4
ViA Bootstrap 4ViA Bootstrap 4
ViA Bootstrap 4imdurgesh
 
TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單偉格 高
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersTsungWei Hu
 
Advanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyAdvanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyDenise Jacobs
 
Advanced CSS Troubleshooting
Advanced CSS TroubleshootingAdvanced CSS Troubleshooting
Advanced CSS TroubleshootingDenise Jacobs
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Erin M. Kidwell
 
HTML CSS and Web Development
HTML CSS and Web DevelopmentHTML CSS and Web Development
HTML CSS and Web DevelopmentRahul Mishra
 
Implementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 WorkshopImplementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 WorkshopShoshi Roberts
 
Responsive content
Responsive contentResponsive content
Responsive contenthonzie
 
Thinkful - Frontend Crash Course - Intro to HTML/CSS
Thinkful - Frontend Crash Course - Intro to HTML/CSSThinkful - Frontend Crash Course - Intro to HTML/CSS
Thinkful - Frontend Crash Course - Intro to HTML/CSSTJ Stalcup
 
Html css crash course may 11th, atlanta
Html css crash course may 11th, atlantaHtml css crash course may 11th, atlanta
Html css crash course may 11th, atlantaThinkful
 
A Primer on HTML 5 - By Nick Armstrong
A Primer on HTML 5 - By Nick ArmstrongA Primer on HTML 5 - By Nick Armstrong
A Primer on HTML 5 - By Nick ArmstrongNick Armstrong
 
HTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.pptHTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.pptraghavanp4
 

Similar a HTML5 & CSS3 Flag Styling Techniques (20)

Source Ordered Templates - - Joomla!Days NL 2009 #jd09nl
Source Ordered Templates - - Joomla!Days NL 2009 #jd09nlSource Ordered Templates - - Joomla!Days NL 2009 #jd09nl
Source Ordered Templates - - Joomla!Days NL 2009 #jd09nl
 
[O'Reilly] HTML5 Design
[O'Reilly] HTML5 Design[O'Reilly] HTML5 Design
[O'Reilly] HTML5 Design
 
ViA Bootstrap 4
ViA Bootstrap 4ViA Bootstrap 4
ViA Bootstrap 4
 
TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and Programmers
 
Css
CssCss
Css
 
Artdm171 Week4 Tags
Artdm171 Week4 TagsArtdm171 Week4 Tags
Artdm171 Week4 Tags
 
Advanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyAdvanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & Efficiency
 
Advanced CSS Troubleshooting
Advanced CSS TroubleshootingAdvanced CSS Troubleshooting
Advanced CSS Troubleshooting
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
Girl Develop It Cincinnati: Intro to HTML/CSS Class 4
 
HTML CSS and Web Development
HTML CSS and Web DevelopmentHTML CSS and Web Development
HTML CSS and Web Development
 
Html5
Html5Html5
Html5
 
Implementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 WorkshopImplementing Awesome: An HTML5/CSS3 Workshop
Implementing Awesome: An HTML5/CSS3 Workshop
 
HTML5
HTML5HTML5
HTML5
 
Responsive content
Responsive contentResponsive content
Responsive content
 
Intro to HTML 5 / CSS 3
Intro to HTML 5 / CSS 3Intro to HTML 5 / CSS 3
Intro to HTML 5 / CSS 3
 
Thinkful - Frontend Crash Course - Intro to HTML/CSS
Thinkful - Frontend Crash Course - Intro to HTML/CSSThinkful - Frontend Crash Course - Intro to HTML/CSS
Thinkful - Frontend Crash Course - Intro to HTML/CSS
 
Html css crash course may 11th, atlanta
Html css crash course may 11th, atlantaHtml css crash course may 11th, atlanta
Html css crash course may 11th, atlanta
 
A Primer on HTML 5 - By Nick Armstrong
A Primer on HTML 5 - By Nick ArmstrongA Primer on HTML 5 - By Nick Armstrong
A Primer on HTML 5 - By Nick Armstrong
 
HTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.pptHTML Web Devlopment presentation css.ppt
HTML Web Devlopment presentation css.ppt
 

Más de Christopher Schmitt

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

Más de Christopher Schmitt (20)

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

Último

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Último (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

HTML5 & CSS3 Flag Styling Techniques

  • 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
  • 6.
  • 7. It’s Always a Plumbing Problem
  • 8.
  • 9.
  • 11.
  • 12.
  • 13.
  • 14. Test limitations to gain new experience
  • 16.
  • 17.
  • 20.
  • 21.
  • 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>
  • 27.
  • 28.
  • 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>
  • 38.
  • 39.
  • 41.
  • 43.
  • 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
  • 49.
  • 50.
  • 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; }
  • 53.
  • 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>
  • 57.
  • 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.
  • 61.
  • 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; }
  • 63.
  • 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; }
  • 66.
  • 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; }
  • 71.
  • 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/
  • 73.
  • 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% ); }
  • 80.
  • 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
  • 83.
  • 84.
  • 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?
  • 87.
  • 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% ); }
  • 89.
  • 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; }
  • 95.
  • 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; } ...
  • 97.
  • 98.
  • 101.
  • 102.
  • 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; }
  • 104.
  • 105. Adding Stars a.fn { width: 2.1em; height: 2.1em; overflow: hidden; position: absolute; z-index: 50; display: block; color: #fff; }
  • 106.
  • 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; }
  • 108.
  • 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))); }
  • 110.
  • 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>
  • 122.
  • 124. Transform Stars a.fn:hover { font-size: 4em; -webkit-transform: rotate(270deg); z-index: 100; }
  • 125.
  • 126. Transform Stars a.fn:hover { font-size: 4em; -webkit-transform: rotate(270deg) translate(1em,-1em); z-index: 100; }
  • 127.
  • 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; }
  • 129.
  • 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; }
  • 132.
  • 134. Fireworks • What’s the 4th of July without some fireworks? • Let’s first get two images • Colorful image • Firework mask
  • 135.
  • 136.
  • 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; }
  • 138.
  • 139.
  • 140.
  • 141.
  • 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