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

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
 

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
Html5 training
James VanDyke
 
ODP
Light introduction to HTML
abidibo Contini
 
PDF
A practical guide to building websites with HTML5 & CSS3
Darren Wood
 
PPTX
Html starting
Rahul Dihora
 
PPT
Supplement web design
shelly3160
 
PPTX
Basics of Front End Web Dev PowerPoint
Sahil Gandhi
 
PPT
Introduction to HTML
Abzetdin Adamov
 
PPTX
41915024 html-5
Nitin Samariya
 
KEY
Html5, a gentle introduction
Diego Scataglini
 
KEY
Class1slides
Alexis Goldstein
 
PPT
HTML & CSS Workshop Notes
Pamela Fox
 
PPTX
Html n CSS
Sukrit Gupta
 
PDF
Girl Develop It Cincinnati: Intro to HTML/CSS Class 1
Erin M. Kidwell
 
PPTX
The Language of the Web - HTML and CSS
kcasavale
 
PDF
Slides 2 - HTML
Massimo Callisto
 
DOC
web technologiesUnit 1
Pathi Radhika
 
PPT
IntroHTMzczczscasasaklahduasihiaSUJScgGJKKL.ppt
diciembrejatcs
 
KEY
Html 5, a gentle introduction
Diego Scataglini
 
PPTX
3 1-html-fundamentals-110302100520-phpapp02
Aditya Varma
 
PPTX
HTML Fundamentals
BG Java EE Course
 
Html5 training
James VanDyke
 
Light introduction to HTML
abidibo Contini
 
A practical guide to building websites with HTML5 & CSS3
Darren Wood
 
Html starting
Rahul Dihora
 
Supplement web design
shelly3160
 
Basics of Front End Web Dev PowerPoint
Sahil Gandhi
 
Introduction to HTML
Abzetdin Adamov
 
41915024 html-5
Nitin Samariya
 
Html5, a gentle introduction
Diego Scataglini
 
Class1slides
Alexis Goldstein
 
HTML & CSS Workshop Notes
Pamela Fox
 
Html n CSS
Sukrit Gupta
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 1
Erin M. Kidwell
 
The Language of the Web - HTML and CSS
kcasavale
 
Slides 2 - HTML
Massimo Callisto
 
web technologiesUnit 1
Pathi Radhika
 
IntroHTMzczczscasasaklahduasihiaSUJScgGJKKL.ppt
diciembrejatcs
 
Html 5, a gentle introduction
Diego Scataglini
 
3 1-html-fundamentals-110302100520-phpapp02
Aditya Varma
 
HTML Fundamentals
BG Java EE Course
 
Ad

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)

PPTX
Design_Guidelinescarrr_Presentation.pptx
kikajic949
 
PPTX
Transform Your Backyard into the Ultimate Wedding Venue
varunsh377
 
PPTX
FINAL.......... april 02-2025 april.pptx
MAACJudymaeM
 
PPTX
Pendant Lights, Types and their applications
agdisha2
 
PDF
The power of storytelling in design.pdf
Zohaib421
 
PPTX
Project Report on Corrosion (1).pptxkkkk
kaushikpkrishna2024
 
PPTX
Hedgining through financil contracts (1).pptx
icuphamid
 
PPTX
Untitled presentation on support system for Btech
rishikrajsmhs
 
PPTX
Factorising Expressions Presentation in Green Brown Illustrative Scrapbook St...
hazlienasyiqeen
 
PPTX
BASIC PRACTICE POWER POINT PRESENTATION 1
rkbasumatary02
 
PPTX
Turbomachinery_Presentation.pptx....... introduction and basic
abhisheksabhigowda47
 
PDF
ABS system PPT 2025 for used automatic backing system .pdf
altron1331
 
PPTX
PTC '25.pptx VXFGHDZDGDRYRIYUUOIUOPIO'KL
JorrehtyMRegondola
 
PPTX
ai teaching assistant for visual learning.pptx
jamesmay2663
 
PDF
Ideo on friction - resource to aid you in that process
vikram sood
 
PPTX
Introduction_to_GD&T_Complete.pptx_growww
rajkumarsingh764766
 
PDF
POA ARCHITECTURE SEM 4 UNIT2 18,19 CENTURY ARCHITECTURE
sachdevaa284
 
PPTX
Smart_Sustainable_Civil_Engineering_PPT.pptx
venkateshreddy0792
 
PDF
Guide to Understanding Hailey Welch's Wealth
arslantaj725
 
DOCX
pre test uncertainty, conflictbnnnmnb mn
sanghahembramsh
 
Design_Guidelinescarrr_Presentation.pptx
kikajic949
 
Transform Your Backyard into the Ultimate Wedding Venue
varunsh377
 
FINAL.......... april 02-2025 april.pptx
MAACJudymaeM
 
Pendant Lights, Types and their applications
agdisha2
 
The power of storytelling in design.pdf
Zohaib421
 
Project Report on Corrosion (1).pptxkkkk
kaushikpkrishna2024
 
Hedgining through financil contracts (1).pptx
icuphamid
 
Untitled presentation on support system for Btech
rishikrajsmhs
 
Factorising Expressions Presentation in Green Brown Illustrative Scrapbook St...
hazlienasyiqeen
 
BASIC PRACTICE POWER POINT PRESENTATION 1
rkbasumatary02
 
Turbomachinery_Presentation.pptx....... introduction and basic
abhisheksabhigowda47
 
ABS system PPT 2025 for used automatic backing system .pdf
altron1331
 
PTC '25.pptx VXFGHDZDGDRYRIYUUOIUOPIO'KL
JorrehtyMRegondola
 
ai teaching assistant for visual learning.pptx
jamesmay2663
 
Ideo on friction - resource to aid you in that process
vikram sood
 
Introduction_to_GD&T_Complete.pptx_growww
rajkumarsingh764766
 
POA ARCHITECTURE SEM 4 UNIT2 18,19 CENTURY ARCHITECTURE
sachdevaa284
 
Smart_Sustainable_Civil_Engineering_PPT.pptx
venkateshreddy0792
 
Guide to Understanding Hailey Welch's Wealth
arslantaj725
 
pre test uncertainty, conflictbnnnmnb mn
sanghahembramsh
 

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