SlideShare a Scribd company logo
Introduction to

         &
   Andrew Christian
Obligatory Intro
                                                So, who is this guy?


•   Coding HTML since 1996

•   WordPress since 2004 (v1.0.2 Art Blakely)

•   New York WP Community since WordCamp
    NYC 2009.

•   Tadpole.cc - WordPress Hosting, Support,
    Training and Consulting
I’m assuming...

• You are somewhat familiar with previous
  versions of HTML and CSS .
• You know your way around a WordPress
  theme, but not necessarily hard-core dev.
A Little History
• HTML was created to link documents via
  HyperText (the “HT” in HTML)
• Quickly grew into a more rich markup
  language (the “ML”)
• Browser Wars: Microsoft vs. Netscape.
A Little History
• XHTML created in order to transition from
  HTML to XML
• XHTML required stricter coding standards.
• If not coded properly, it would break...
  Horribly.
A Little History
• 2002: W3C created XHTML 2.0
• 2004: Apple, Mozilla, and Opera created the
  WHATWG, when W3C shot down HTML5.
• 2007: W3C created HTML 5 working group.
• 2009: W3C abandons XHTML 2.0 in favor of
  HTML5.
HTML5 Philosophy
• Must be backwards compatible with older
  versions of HTML.
• Everything added or removed must be done
  so for a practical purpose.
• The process of deciding what goes in is an
  open process, involving blogs, twitter, etc.
Can we use it now?
• The spec is not 100% finalized, but is broken
  into “modules,” many of which are finalized.
• Most features are supported by all major
  browsers (Chrome, Firefox 4+, Safari, IE9+)
• Most features degrade gracefully in older
  browsers.
Document Heading
<!DOCTYPE html PUBLIC “=//W3C//DTD XHTML 1.0 Transitional//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml-1-transitional.dtd”>

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
lang="en">

<head>                                               <title>Page Title
goes hear</title>                           <meta http-equiv=”Content-
Type” content=”text/html; charset=iso-8859-1” />
<link rel=”stylesheet” href=”style.css” type=”text/css” />
<script src=”javascript.css” type=”text/javascript” />               </
head>
Document Heading
<!DOCTYPE html>

<html lang="en-us">

<head>

<title>Page Title goes hear</title>

<meta charset=”utf-8”>

<link rel=”stylesheet” href=”style.css”>
HTML Code Syntax

<IMG SRC=”image.png” ALT=”This is an image, Duh!” />



                   is the same as



  <Img sRc=image.png ALt=’This is an image, Duh!’>
New HTML Elements
• article     • footer




<                                  >
• aside       • header
• bdi         • hgroup
• command     • mark
• details     • nav
• summary     • ruby, rt, and rp
• figure       • section
• figcaption   • time
Changed Elements
•   <a> can now wrap around block elements.

•   <b> and <i> are back (but not presentational).

•   <cite> defined to be the title of a work.

•   <hr> is now a “paragraph-level thematic break.”

•   <small> is now for small-print, i.e., legal boilerplate.
Removed Elements
•   <big>

•   <center> and <font>

•   <strike> and <u>

•   <frame>, <frameset>, and <noframes>

•   <acronym> is now <abbr>

•   <applet> is now <object>
Blog Page Structure
<div id=”header”>
 <h1>Page Title</h1>
 <p>Tag Line text...</p>
</div>
<div id=”nav”>
 <ul>...list of nav links...</ul>
</div>
<div id=”sidebar”>...sidebar links...</div>
<div id=”content”>
 <div class=”article”>
  <h2>Article Title</h2>
  <p>Published on June 9, 2012.</p>
  <p>Article Content</p>
  <div class=”entry-meta”>...comments, permalink, etc...</div>
 </div>
</div>
<div id=”footer”>
Blog Page Structure
<header>
 <hgroup>
  <h1>Page Title</h1>
  <h2>Tag Line text...</h2>
 </hgroup>
</header>

<nav><ul>...list of nav links...</ul></nav>

<aside>...sidebar links...</aside>

<article>
 <header>
  <h1>Article Title</h1>
  <time datetime=”2012-06-09” pubdate”>Published on June 9, 2012.</time>
 </header>
 <p>Article Content</p>
 <footer>...comments, permalink, etc...</footer>
<header> & <hgroup>
•   When <header> is used outside of other
    elements, it’s assumed to be the page header.

•   When <header> is used inside of elements like
    <aside> and <article>

•   <header> isn’t necessary when an <h1> is the only
    element of the header.

•   Cannot be placed inside a <footer>, <address> or
    another <header> element.
<header> & <hgroup>
•   <header> allows you to group other content in
    with the heading, such as publication date, etc.

•   <hgroup> links together multiple headings into
    one header.

•   Great for headers that have multiple lines, or the
    Page Title with a Site Description.
<footer>
•    Just like <header>, you can use more than one
     <footer> on a page.
•    A footer typically, but not always, goes at the
     bottom of content.
•    For example, if you use a <footer> for next/
     previous blog post links, you can use
<article>
 <header>...</header>
 <footer>...Next/Previous nav links</footer>
 <p>...Content</p>
 <footer>...Next/Previous nav links</footer>
<nav>
•   Usually contains a <ul> list of links.

•   You can have more than one <nav> list on a page.

•   Placing the <nav> outside of other elements
    means it’s navigation across your site.

•   Placing <nav> inside an <article> means it’s
    navigation for that article only (useful on single
    post pages for Next/Previous links).
<article> and <section>
•   <article> should be a complete block of content
    that is wholly separate from other content.
•   <section> divides content into, yes, sections. A
    section does not stand on its own.
•   Think of <article> as something you might see in
    an RSS feed.
•   However, you can use <article> within another
    <article> tag. For example, comments could be in
    separate <article> tags inside of a blog post.
<aside>
•   Used for “Secondary Content”

•   Meant for content that is related to, but not
    necessarily important for understanding, content.

•   Can be used as a sidebar for a page.

•   Can also be used inside <article>, etc., for
    information related to the article.
<aside>
•   Used for “Secondary Content”

•   Meant for content that is related to, but not
    necessarily important for understanding, content.

•   Can be used as a sidebar for a page.

•   Can also be used inside <article>, etc., for
    information related to the article.
Forms - New Attributes
•   required

•   autofocus

•   placeholder

•   form

•   autocomplete

•   pattern
Forms - New Input Types
•   email                    •   tel (telephone)

•   date                     •   color

•   search                   •   number


•   New input types fall back to type=”text” in older
    browsers, but newer browsers can display a special
    input (keyboard, color chooser, number dial, etc.)
Video - the old way
<object width=”400 height=”300”>

 <param name=”movie” value=”http://www.youtube.com/v/ddO9idmax0o” />
 <param name=”allowFullScreen” value=”true” />
 <param name=”allowscriptaccess” value=”always” />

 <embed src=”http://www.youtube.com/v/ddO9idmax0o” type=”application/x-
  shockwave-flash” allowscriptaccess=”always” allowfullscreen=”true”
  width=”400” height=”300” />




•    Code is complex and confusing

•    Relies on 3rd party plugins for functionality.
Video - the new way


<video src=”movie.mp4”>
Video - the new way
<video controls autoplay>

 <source src=”movie.mp4” type=”video/mp4; codecs=avc1.42E01E,mp4a.40.2”>
 <source src=”movie.ogv” type=”vidio/off; codecs=theora,vorbis”>

 <p>Get the video in <a href=”movie.mp4”>MP4</a> or <a
 href=”movie.ofv”>Ogg Vorbis</a> format.</p>




•    Code is easier to read.

•    Video playback doesn’t require any plugins.

•    Multiple sources depending on browser support.
Audio - Just as easy!

<audio src=”audio.mp3”>
Now it’s time to dig in to
Browser Support
•   Webkit (Safari and Chrome)
•   Firefox 4+
•   Opera
•   IE 9+
•   CSS3 doesn’t deprecate anything from CSS 2.1.


•   Currently uses -moz-, -webkit-, and other browser
    specific prefixes on many modifiers.
CSS3 and Color
•   The old way - background-color: #1a2b3c;

•   RGBa - background-color: rgba(0, 255, 0, 0.7);

•   HSLa - background-color: hsla(0, 100%, 35%, 0.4);




•   “a” stands for “alpha”, or opacity.
Opacity and Gradients
     •    You can also specify the opacity of an object:

    header {
      background-color: #000;
      opacity: 0.7;
    }


     •    or specify a color gradient.
    background-image: -webkit-gradient(

      linear, left 50, right 50,

      color-stop(0.08, rgb(255,255,255)),

      color-stop(0.54, rgb(133,133,133)),

      color-stop(0.77, rgb(0,0,0))
    );
New selectors
•   input[type=”text”] { css rules }
•   li:nth-child(3) { css rules }
•   li:nth-child(3n+3) { css rules }
•   li:nth-child(even) { css rules }
•   li:nth-child(odd) { css rules }
•   li:first-child { css rules }
•   li:last-child { css rules }
Text-shadow and Web fonts
 •     You can apply a drop-shadow:

.quote {

}
  text-shadow: 2px 2px 4px #fff;      Quote Text

 •     or embed a font on the web
@font-face {
  font-family: “BiauKai”;
  src: url(“fonts/BiauKai.ttf”);
}
Web-font resources
•   fontsquirrel.com

•   typekit.com

•   fontdeck.com

•   webfonts.fonts.com

•   google.com/webfonts
Rounded Corners
 •    You can round off the corners of a container:

header {
 -moz-border-radius: 20px;
 -webkit-border-radius: 20px;
 border-radius: 20px;




 •    always specify the non-browser specific modifier
      last, so compliant browsers will use it.
And so much more!
•   Box shadows (like text-shadow, but for block-level)

•   Specify multiple backgrounds.

•   Set transition times on “:hover”ed elements

•   “Transform” objects (rotate, skew, resize)
Implementing CSS3 Today
 •    caniuse.com - compatibility check for HTML5,
      CSS3 and more based on browser.
 •    HTML5 for Internet Explorer 6 to 8
<head<
 <!-- [if lt IE9]>
  <script src=”//html5shiv.googlecode.com/svn/trunk/html5.js”>
 <![endif] -->
</head>

 •    Use a reset.css to start with a clean slate.
 •    Use Progressive Enhancement
Why use HTML5/CSS3?

•   Less reliance on JavaScript.
•   Less reliance on heavy images.
•   Less reliance on 3rd party plugins.
•   Better SEO
•   Better UX for website visitors.
•   They can do some really cool things.
Credits

•   Joe Lewis: http://www.slideshare.net/sanbeiji/
    introduction-to-html5-and-css3-revised
•   Bruce Lawson and Remy Sharp: Introducing
    HTML5 (2nd Edition)
•   w3schools.com/html and w3schools.com/css
•   HTML5doctor.com

More Related Content

KEY
2022 HTML5: The future is now
Gonzalo Cordero
 
PDF
Modular HTML, CSS, & JS Workshop
Shay Howe
 
PPTX
About Best friends - HTML, CSS and JS
Naga Harish M
 
PPTX
Introduction to HTML5
Terry Ryan
 
PDF
Advanced CSS Troubleshooting & Efficiency
Denise Jacobs
 
PDF
Grok Drupal (7) Theming - 2011 Feb update
Laura Scott
 
PDF
Advanced CSS Troubleshooting
Denise Jacobs
 
PDF
HTML5, just another presentation :)
François Massart
 
2022 HTML5: The future is now
Gonzalo Cordero
 
Modular HTML, CSS, & JS Workshop
Shay Howe
 
About Best friends - HTML, CSS and JS
Naga Harish M
 
Introduction to HTML5
Terry Ryan
 
Advanced CSS Troubleshooting & Efficiency
Denise Jacobs
 
Grok Drupal (7) Theming - 2011 Feb update
Laura Scott
 
Advanced CSS Troubleshooting
Denise Jacobs
 
HTML5, just another presentation :)
François Massart
 

What's hot (20)

KEY
Html intro
Robyn Overstreet
 
PDF
Modular HTML & CSS
Shay Howe
 
KEY
Grok Drupal (7) Theming (presented at DrupalCon San Francisco)
Laura Scott
 
PPTX
Html5 shubelal
Shub
 
PDF
Grok Drupal (7) Theming
PINGV
 
PDF
CSS pattern libraries
Russ Weakley
 
PDF
Please dont touch-3.5
Francesco Fullone
 
PDF
Intro to WordPress theme development
Thad Allender
 
PDF
Unit 3 (it workshop).pptx
Dr.Lokesh Gagnani
 
ZIP
Html5 public
doodlemoonch
 
PDF
ePUB 3 and Publishing e-books
Kerem Karatal
 
PDF
Please Don't Touch the Slow Parts V3
Federico Galassi
 
PDF
Introduction to Drupal (7) Theming
Robert Carr
 
PPT
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Deepak Sharma
 
PDF
CSS - OOCSS, SMACSS and more
Russ Weakley
 
PPSX
What is HTML5?
Anas AbuDayah
 
PDF
Arizona WP - Building a WordPress Theme
certainstrings
 
PPTX
Html5
Mohammed Qasem
 
PDF
Modular HTML & CSS Workshop
Shay Howe
 
Html intro
Robyn Overstreet
 
Modular HTML & CSS
Shay Howe
 
Grok Drupal (7) Theming (presented at DrupalCon San Francisco)
Laura Scott
 
Html5 shubelal
Shub
 
Grok Drupal (7) Theming
PINGV
 
CSS pattern libraries
Russ Weakley
 
Please dont touch-3.5
Francesco Fullone
 
Intro to WordPress theme development
Thad Allender
 
Unit 3 (it workshop).pptx
Dr.Lokesh Gagnani
 
Html5 public
doodlemoonch
 
ePUB 3 and Publishing e-books
Kerem Karatal
 
Please Don't Touch the Slow Parts V3
Federico Galassi
 
Introduction to Drupal (7) Theming
Robert Carr
 
Cssbestpracticesjstyleguidejandtips 150830184202-lva1-app6892
Deepak Sharma
 
CSS - OOCSS, SMACSS and more
Russ Weakley
 
What is HTML5?
Anas AbuDayah
 
Arizona WP - Building a WordPress Theme
certainstrings
 
Modular HTML & CSS Workshop
Shay Howe
 
Ad

Viewers also liked (20)

PDF
Mastering CSS3 gradients
Lea Verou
 
PPT
Introduction to Javascript
Amit Tyagi
 
PPTX
Css presentation lecture 4
Mudasir Syed
 
PDF
Compass, Sass, and the Enlightened CSS Developer
Wynn Netherland
 
PPTX
Incorporating ePortfolios into Advising Practice
G. Alex Ambrose
 
PPTX
Examining the Role of Digital Badges in a University's Massive Open Online Co...
G. Alex Ambrose
 
PPT
CSS
Sunil OS
 
PDF
Web Design
Speedy Little Website
 
PDF
Introduction to web development
Alberto Apellidos
 
PPTX
Colors In CSS3
Lea Verou
 
PDF
Intro to HTML
Randy Oest II
 
PPTX
Mobile Web App development multiplatform using phonegap-cordova
Khirulnizam Abd Rahman
 
PDF
Front end development best practices
Karolina Coates
 
PPTX
Html css java script basics All about you need
Dipen Parmar
 
PDF
Intro to JavaScript
Dan Phiffer
 
PPT
Frames tables forms
nobel mujuji
 
PPT
JavaScript Operators
Charles Russell
 
PPT
Introdution to HTML 5
onkar_bhosle
 
PPTX
Html 5
manujayarajkm
 
KEY
An Introduction to HTML5
Steven Chipman
 
Mastering CSS3 gradients
Lea Verou
 
Introduction to Javascript
Amit Tyagi
 
Css presentation lecture 4
Mudasir Syed
 
Compass, Sass, and the Enlightened CSS Developer
Wynn Netherland
 
Incorporating ePortfolios into Advising Practice
G. Alex Ambrose
 
Examining the Role of Digital Badges in a University's Massive Open Online Co...
G. Alex Ambrose
 
CSS
Sunil OS
 
Introduction to web development
Alberto Apellidos
 
Colors In CSS3
Lea Verou
 
Intro to HTML
Randy Oest II
 
Mobile Web App development multiplatform using phonegap-cordova
Khirulnizam Abd Rahman
 
Front end development best practices
Karolina Coates
 
Html css java script basics All about you need
Dipen Parmar
 
Intro to JavaScript
Dan Phiffer
 
Frames tables forms
nobel mujuji
 
JavaScript Operators
Charles Russell
 
Introdution to HTML 5
onkar_bhosle
 
An Introduction to HTML5
Steven Chipman
 
Ad

Similar to Intro to HTML 5 / CSS 3 (20)

PDF
Web Design Bootcamp - Day1
Aslam Najeebdeen
 
PDF
The web context
Dan Phiffer
 
KEY
Html5 Brown Bag
stuplum
 
PDF
Day1-HTML-CSS some basic css and html.pdf
enasashri12
 
PPTX
Castro Chapter 3
Jeff Byrnes
 
PDF
Code & Design your first website 4/18
TJ Stalcup
 
KEY
Html5
Satoshi Kikuchi
 
PPT
Css
Sumit Gupta
 
PDF
Code &amp; design your first website (3:16)
Thinkful
 
PPTX
Web development basics
Kalluri Vinay Reddy
 
PPTX
HTML 5 Fundamental
Lanh Le
 
PPTX
Html part 2
lokenra
 
PPTX
HTML5 for ASP.NET Developers
Justin Lee
 
KEY
Artdm171 Week4 Tags
Gilbert Guerrero
 
PPTX
Html,CSS & UI/UX design
Karthikeyan Dhanasekaran CUA
 
PDF
Frontend for developers
Hernan Mammana
 
PDF
Thinkful - Frontend Crash Course - Intro to HTML/CSS
TJ Stalcup
 
PDF
[Access U 2010] HTML5 & Accessibility
Christopher Schmitt
 
PPT
HTML & CSS.ppt
vaseemshaik21
 
PPTX
Web 101 intro to html
Hawkman Academy
 
Web Design Bootcamp - Day1
Aslam Najeebdeen
 
The web context
Dan Phiffer
 
Html5 Brown Bag
stuplum
 
Day1-HTML-CSS some basic css and html.pdf
enasashri12
 
Castro Chapter 3
Jeff Byrnes
 
Code & Design your first website 4/18
TJ Stalcup
 
Code &amp; design your first website (3:16)
Thinkful
 
Web development basics
Kalluri Vinay Reddy
 
HTML 5 Fundamental
Lanh Le
 
Html part 2
lokenra
 
HTML5 for ASP.NET Developers
Justin Lee
 
Artdm171 Week4 Tags
Gilbert Guerrero
 
Html,CSS & UI/UX design
Karthikeyan Dhanasekaran CUA
 
Frontend for developers
Hernan Mammana
 
Thinkful - Frontend Crash Course - Intro to HTML/CSS
TJ Stalcup
 
[Access U 2010] HTML5 & Accessibility
Christopher Schmitt
 
HTML & CSS.ppt
vaseemshaik21
 
Web 101 intro to html
Hawkman Academy
 

More from Tadpole Collective (8)

PPTX
Troubleshooting Common WordPress-Problems
Tadpole Collective
 
ODP
An Intro: WordPress with CiviCRM at Civicon 2014
Tadpole Collective
 
PDF
WordPress Workshop with Tadpole, SATW 2013 Conference
Tadpole Collective
 
PDF
Type on the Web (with WordPress)
Tadpole Collective
 
PDF
Getting on the web with WordPress
Tadpole Collective
 
PDF
CiviCRM with WordPress: A Dynamic Duo!
Tadpole Collective
 
PDF
Using Web Fonts in WordPress
Tadpole Collective
 
PDF
WordPress for Nonprofits Using CiviCRM
Tadpole Collective
 
Troubleshooting Common WordPress-Problems
Tadpole Collective
 
An Intro: WordPress with CiviCRM at Civicon 2014
Tadpole Collective
 
WordPress Workshop with Tadpole, SATW 2013 Conference
Tadpole Collective
 
Type on the Web (with WordPress)
Tadpole Collective
 
Getting on the web with WordPress
Tadpole Collective
 
CiviCRM with WordPress: A Dynamic Duo!
Tadpole Collective
 
Using Web Fonts in WordPress
Tadpole Collective
 
WordPress for Nonprofits Using CiviCRM
Tadpole Collective
 

Recently uploaded (20)

PDF
Interior design technology LECTURE 28.pdf
SasidharReddyPlannin
 
PPTX
Introduction-to-Graphic-Design-and-Adobe-Photoshop.pptx
abdullahedpk
 
PPTX
Creative Agency Presentation For Designers
createchangeedu
 
PPTX
History of interior design- european and american styles.pptx
MINAKSHI SINGH
 
PDF
slide logistics CONVENIENCE STORES ..pdf
thuphuong0965195082
 
PPTX
UCSP-Powerpoint Presentation-Lesson-7.pptx
EmyMaquiling1
 
PDF
Find Your Target Audience A 6-Step Framework to Grow Your Business.pdf
Zinavo Pvt Ltd
 
PDF
neurons-1hhdbbbsjndjnnbbdjndnnndj30501.pdf
Rahul954607
 
PPTX
UCSP-Quarter 1-Week 5-Powerpoint Presentation
EmyMaquiling1
 
PDF
Portfolio Arch Estsabel Chourio - Interiorism,
arqeech
 
PPTX
Artificial Intelligence presentation.pptx
snehajana651
 
PDF
10 Best UI UX Design Company in UK for User-Centric Solutions
Tenet UI UX
 
PPTX
Template of Different Slide Designs to Use
kthomas47
 
PPTX
Engagement for marriage life ethics b.pptx
SyedBabar19
 
PDF
Shayna Andrieze Yjasmin Goles - Your VA!
shaynagoles31
 
PDF
Zidane ben hmida _ Portfolio
Zidane Ben Hmida
 
PPTX
Riverfront Development_nashikcity_landscape
aditikoshley2
 
PDF
SS27 Environments & Design Trend Book Peclers Paris
Peclers Paris
 
PDF
SS27 Women's Fashion Trend Book Peclers Paris
Peclers Paris
 
DOCX
prepare sandwiches COOKERY.docx123456789
venuzjoyetorma1998
 
Interior design technology LECTURE 28.pdf
SasidharReddyPlannin
 
Introduction-to-Graphic-Design-and-Adobe-Photoshop.pptx
abdullahedpk
 
Creative Agency Presentation For Designers
createchangeedu
 
History of interior design- european and american styles.pptx
MINAKSHI SINGH
 
slide logistics CONVENIENCE STORES ..pdf
thuphuong0965195082
 
UCSP-Powerpoint Presentation-Lesson-7.pptx
EmyMaquiling1
 
Find Your Target Audience A 6-Step Framework to Grow Your Business.pdf
Zinavo Pvt Ltd
 
neurons-1hhdbbbsjndjnnbbdjndnnndj30501.pdf
Rahul954607
 
UCSP-Quarter 1-Week 5-Powerpoint Presentation
EmyMaquiling1
 
Portfolio Arch Estsabel Chourio - Interiorism,
arqeech
 
Artificial Intelligence presentation.pptx
snehajana651
 
10 Best UI UX Design Company in UK for User-Centric Solutions
Tenet UI UX
 
Template of Different Slide Designs to Use
kthomas47
 
Engagement for marriage life ethics b.pptx
SyedBabar19
 
Shayna Andrieze Yjasmin Goles - Your VA!
shaynagoles31
 
Zidane ben hmida _ Portfolio
Zidane Ben Hmida
 
Riverfront Development_nashikcity_landscape
aditikoshley2
 
SS27 Environments & Design Trend Book Peclers Paris
Peclers Paris
 
SS27 Women's Fashion Trend Book Peclers Paris
Peclers Paris
 
prepare sandwiches COOKERY.docx123456789
venuzjoyetorma1998
 

Intro to HTML 5 / CSS 3

  • 1. Introduction to & Andrew Christian
  • 2. Obligatory Intro So, who is this guy? • Coding HTML since 1996 • WordPress since 2004 (v1.0.2 Art Blakely) • New York WP Community since WordCamp NYC 2009. • Tadpole.cc - WordPress Hosting, Support, Training and Consulting
  • 3. I’m assuming... • You are somewhat familiar with previous versions of HTML and CSS . • You know your way around a WordPress theme, but not necessarily hard-core dev.
  • 4. A Little History • HTML was created to link documents via HyperText (the “HT” in HTML) • Quickly grew into a more rich markup language (the “ML”) • Browser Wars: Microsoft vs. Netscape.
  • 5. A Little History • XHTML created in order to transition from HTML to XML • XHTML required stricter coding standards. • If not coded properly, it would break... Horribly.
  • 6. A Little History • 2002: W3C created XHTML 2.0 • 2004: Apple, Mozilla, and Opera created the WHATWG, when W3C shot down HTML5. • 2007: W3C created HTML 5 working group. • 2009: W3C abandons XHTML 2.0 in favor of HTML5.
  • 7. HTML5 Philosophy • Must be backwards compatible with older versions of HTML. • Everything added or removed must be done so for a practical purpose. • The process of deciding what goes in is an open process, involving blogs, twitter, etc.
  • 8. Can we use it now? • The spec is not 100% finalized, but is broken into “modules,” many of which are finalized. • Most features are supported by all major browsers (Chrome, Firefox 4+, Safari, IE9+) • Most features degrade gracefully in older browsers.
  • 9. Document Heading <!DOCTYPE html PUBLIC “=//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml-1-transitional.dtd”> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Page Title goes hear</title> <meta http-equiv=”Content- Type” content=”text/html; charset=iso-8859-1” /> <link rel=”stylesheet” href=”style.css” type=”text/css” /> <script src=”javascript.css” type=”text/javascript” /> </ head>
  • 10. Document Heading <!DOCTYPE html> <html lang="en-us"> <head> <title>Page Title goes hear</title> <meta charset=”utf-8”> <link rel=”stylesheet” href=”style.css”>
  • 11. HTML Code Syntax <IMG SRC=”image.png” ALT=”This is an image, Duh!” /> is the same as <Img sRc=image.png ALt=’This is an image, Duh!’>
  • 12. New HTML Elements • article • footer < > • aside • header • bdi • hgroup • command • mark • details • nav • summary • ruby, rt, and rp • figure • section • figcaption • time
  • 13. Changed Elements • <a> can now wrap around block elements. • <b> and <i> are back (but not presentational). • <cite> defined to be the title of a work. • <hr> is now a “paragraph-level thematic break.” • <small> is now for small-print, i.e., legal boilerplate.
  • 14. Removed Elements • <big> • <center> and <font> • <strike> and <u> • <frame>, <frameset>, and <noframes> • <acronym> is now <abbr> • <applet> is now <object>
  • 15. Blog Page Structure <div id=”header”> <h1>Page Title</h1> <p>Tag Line text...</p> </div> <div id=”nav”> <ul>...list of nav links...</ul> </div> <div id=”sidebar”>...sidebar links...</div> <div id=”content”> <div class=”article”> <h2>Article Title</h2> <p>Published on June 9, 2012.</p> <p>Article Content</p> <div class=”entry-meta”>...comments, permalink, etc...</div> </div> </div> <div id=”footer”>
  • 16. Blog Page Structure <header> <hgroup> <h1>Page Title</h1> <h2>Tag Line text...</h2> </hgroup> </header> <nav><ul>...list of nav links...</ul></nav> <aside>...sidebar links...</aside> <article> <header> <h1>Article Title</h1> <time datetime=”2012-06-09” pubdate”>Published on June 9, 2012.</time> </header> <p>Article Content</p> <footer>...comments, permalink, etc...</footer>
  • 17. <header> & <hgroup> • When <header> is used outside of other elements, it’s assumed to be the page header. • When <header> is used inside of elements like <aside> and <article> • <header> isn’t necessary when an <h1> is the only element of the header. • Cannot be placed inside a <footer>, <address> or another <header> element.
  • 18. <header> & <hgroup> • <header> allows you to group other content in with the heading, such as publication date, etc. • <hgroup> links together multiple headings into one header. • Great for headers that have multiple lines, or the Page Title with a Site Description.
  • 19. <footer> • Just like <header>, you can use more than one <footer> on a page. • A footer typically, but not always, goes at the bottom of content. • For example, if you use a <footer> for next/ previous blog post links, you can use <article> <header>...</header> <footer>...Next/Previous nav links</footer> <p>...Content</p> <footer>...Next/Previous nav links</footer>
  • 20. <nav> • Usually contains a <ul> list of links. • You can have more than one <nav> list on a page. • Placing the <nav> outside of other elements means it’s navigation across your site. • Placing <nav> inside an <article> means it’s navigation for that article only (useful on single post pages for Next/Previous links).
  • 21. <article> and <section> • <article> should be a complete block of content that is wholly separate from other content. • <section> divides content into, yes, sections. A section does not stand on its own. • Think of <article> as something you might see in an RSS feed. • However, you can use <article> within another <article> tag. For example, comments could be in separate <article> tags inside of a blog post.
  • 22. <aside> • Used for “Secondary Content” • Meant for content that is related to, but not necessarily important for understanding, content. • Can be used as a sidebar for a page. • Can also be used inside <article>, etc., for information related to the article.
  • 23. <aside> • Used for “Secondary Content” • Meant for content that is related to, but not necessarily important for understanding, content. • Can be used as a sidebar for a page. • Can also be used inside <article>, etc., for information related to the article.
  • 24. Forms - New Attributes • required • autofocus • placeholder • form • autocomplete • pattern
  • 25. Forms - New Input Types • email • tel (telephone) • date • color • search • number • New input types fall back to type=”text” in older browsers, but newer browsers can display a special input (keyboard, color chooser, number dial, etc.)
  • 26. Video - the old way <object width=”400 height=”300”> <param name=”movie” value=”http://www.youtube.com/v/ddO9idmax0o” /> <param name=”allowFullScreen” value=”true” /> <param name=”allowscriptaccess” value=”always” /> <embed src=”http://www.youtube.com/v/ddO9idmax0o” type=”application/x- shockwave-flash” allowscriptaccess=”always” allowfullscreen=”true” width=”400” height=”300” /> • Code is complex and confusing • Relies on 3rd party plugins for functionality.
  • 27. Video - the new way <video src=”movie.mp4”>
  • 28. Video - the new way <video controls autoplay> <source src=”movie.mp4” type=”video/mp4; codecs=avc1.42E01E,mp4a.40.2”> <source src=”movie.ogv” type=”vidio/off; codecs=theora,vorbis”> <p>Get the video in <a href=”movie.mp4”>MP4</a> or <a href=”movie.ofv”>Ogg Vorbis</a> format.</p> • Code is easier to read. • Video playback doesn’t require any plugins. • Multiple sources depending on browser support.
  • 29. Audio - Just as easy! <audio src=”audio.mp3”>
  • 30. Now it’s time to dig in to
  • 31. Browser Support • Webkit (Safari and Chrome) • Firefox 4+ • Opera • IE 9+ • CSS3 doesn’t deprecate anything from CSS 2.1. • Currently uses -moz-, -webkit-, and other browser specific prefixes on many modifiers.
  • 32. CSS3 and Color • The old way - background-color: #1a2b3c; • RGBa - background-color: rgba(0, 255, 0, 0.7); • HSLa - background-color: hsla(0, 100%, 35%, 0.4); • “a” stands for “alpha”, or opacity.
  • 33. Opacity and Gradients • You can also specify the opacity of an object: header { background-color: #000; opacity: 0.7; } • or specify a color gradient. background-image: -webkit-gradient( linear, left 50, right 50, color-stop(0.08, rgb(255,255,255)), color-stop(0.54, rgb(133,133,133)), color-stop(0.77, rgb(0,0,0)) );
  • 34. New selectors • input[type=”text”] { css rules } • li:nth-child(3) { css rules } • li:nth-child(3n+3) { css rules } • li:nth-child(even) { css rules } • li:nth-child(odd) { css rules } • li:first-child { css rules } • li:last-child { css rules }
  • 35. Text-shadow and Web fonts • You can apply a drop-shadow: .quote { } text-shadow: 2px 2px 4px #fff; Quote Text • or embed a font on the web @font-face { font-family: “BiauKai”; src: url(“fonts/BiauKai.ttf”); }
  • 36. Web-font resources • fontsquirrel.com • typekit.com • fontdeck.com • webfonts.fonts.com • google.com/webfonts
  • 37. Rounded Corners • You can round off the corners of a container: header { -moz-border-radius: 20px; -webkit-border-radius: 20px; border-radius: 20px; • always specify the non-browser specific modifier last, so compliant browsers will use it.
  • 38. And so much more! • Box shadows (like text-shadow, but for block-level) • Specify multiple backgrounds. • Set transition times on “:hover”ed elements • “Transform” objects (rotate, skew, resize)
  • 39. Implementing CSS3 Today • caniuse.com - compatibility check for HTML5, CSS3 and more based on browser. • HTML5 for Internet Explorer 6 to 8 <head< <!-- [if lt IE9]> <script src=”//html5shiv.googlecode.com/svn/trunk/html5.js”> <![endif] --> </head> • Use a reset.css to start with a clean slate. • Use Progressive Enhancement
  • 40. Why use HTML5/CSS3? • Less reliance on JavaScript. • Less reliance on heavy images. • Less reliance on 3rd party plugins. • Better SEO • Better UX for website visitors. • They can do some really cool things.
  • 41. Credits • Joe Lewis: http://www.slideshare.net/sanbeiji/ introduction-to-html5-and-css3-revised • Bruce Lawson and Remy Sharp: Introducing HTML5 (2nd Edition) • w3schools.com/html and w3schools.com/css • HTML5doctor.com