SlideShare a Scribd company logo
GETTING STARTED WITH HTML5

                 -By Suresh Kumar
Agenda
   History, Vision & Future of HTML5
   Getting Started With HTML5
   Structure of a Web Page
   Forms
   Audio and Video
   HTML5 Canvas
   Introduction to Data Storage
   Introduction to Geo location
1. History, Vision & Future of HTML5
    1.1 What Is HTML5?
•   Successor of HTML 4.01 and XHTML 1.1
•   It comes with new tags, features and APIs
•   Below is a non exhaustive list of features that tend to be labelled as "HTML5" in the
    medias:
      – New structural elements (<header>, <footer>, <nav> and more)
      – Forms 2.0 and client-side validation
      – Native browser support for audio and video (<video>, <audio>)
      – Canvas API and SVG
      – Web storage
      – Offline applications
      – Geolocation
      – Drag & Drop
      – Web Workers
      – New communications API (Server Sent Events, Web Sockets, …)
1. History, Vision & Future of HTML5
    1.2 History of HTML5?

•   December 1997: HTML 4.0 is published by the W3C

•   February - March 1998: XML 1.0 is published

•   December 1999 - January 2000: ECMAScript 3rd Edition, XHTML 1.0 (Basically
    HTML tags
    reformulated in XML) and, HTML 4.01 recommendations are published

•   May 2001: XHTML 1.1 recommendation is published

•   August 2002: XHTML 2.0 first working draft is released.

•   December 2002: XHTML 2.0 second working draft published.

•   January 2008: First W3C working draft of HTML5 is published!!
1. History, Vision & Future of HTML5
    1.3 Future of HTML5

•   84% of Developers Plan to Adopt Key HTML5 Features

•   The key to understanding HTML5 is that it is not one, but a group of technologies.
    Within HTML5, developers have a tremendous amount of choice regarding what they
    use and what they don’t use

•   The power of HTML5 being ready for prime-time can be seen in Microsoft’s choice to
    utilize it in Windows 8


    Still on the fence with adopting HTML5 in your next
    project?
2. Getting started with HTML5
Wondering what it takes to get it started?

•   Any Text editor such as Notepad++, Editplus, Textmate, Dream weaver

•   Modern browsers such as Firefox 3.5 +, IE9, chrome, safari
•   Prior knowledge of HTML 4
3. Structure of Web page
3.1. New and Updated HTML5 Elements
    HTML5 introduces 28 new elements:

    <section>, <article>, <aside>, <hgroup>, <header>,<footer>, <nav>, <figure>, <figcaption>, <vi
    deo>, <audio>, <source>, <embed>, <mark>,<progress>, <meter>, <time>, <ruby>, <rt>, <rp>,

    <wbr>, <canvas>, <command>, <details>,<summary>, <datalist>, <keygen> and <output>
    An HTML page first starts with the DOCTYPE declaration

    HTML5 also update some of the previous existing elements to better reflect how they are used on
    the Web or to make them more useful such as:

•   The <a> element can now also contain flow content instead of just phrasing content
•   The <hr> element is now representing a paragraph-level thematic break
•   The <cite> element only represent the title of a work
•   The <strong> element is now representing importance rather than strong emphasis
3. Structure of Web page
3.2. First HTML5 webpage
    <!DOCTYPE html>
    <html>
    <head>
    <title>Title of the document</title>
    </head>

    <body>
        That’s all I need to create my first HTML5 page
    </body>

    </html>

Output: Click here
3. Structure of Web page

3.3. New Semantic Elements
  <nav>: Represents a major navigation block. It groups links to other pages or to parts of the
  current page.

  <nav> does not have to be used in every place you can find links.
  For instance, footers often contains links to terms of service, copyright page and such,

  the <footer> element would be sufficient in that case
3. Structure of Web page

3.3. New Semantic Elements
    <Header>: tag specifies a header for a document or section.




However, we mustn't think that "header" is only for masthead of a website. "header" can be use as a
   heading of an blog entry or news article as every article has its title and published date and time
3. Structure of Web page

3.3. New Semantic Elements
  <article>: The web today contains a ocean of news articles and blog entries. That gives W3C a
  good reason to define an element for article instead of <div class="article">.

  We should use article for content that we think it can be distributable. Just like news or blog entry
  can we can share in RSS feed

  "article" element can be nested in another "article" element.
  An article element doesn't just mean article content. You can have header andfooter element in an

  article. In fact, it is very common to have header as each article should have a title.
3. Structure of Web page

3.3. New Semantic Elements
  <aside>: The "aside" element is a section that somehow related to main content, but it can be

  separate from that content
3. Structure of Web page

3.3. New Semantic Elements
  <footer>: Similarly to "header" element, "footer" element is often referred to the footer of a web
  page. Well, most of the time, footer can be used as what we thought.

  Please don't think you can only have one footer per web document, you can have a footer in every

  section, or every article.
3. Structure of Web page

3.3. New Semantic Elements
  <Progress>: The new "progress" element appears to be very similar to the "meter" element. It is
  created to indicate progress of a specific task.

  The progress can be either determinate OR interderminate. Which means, you can use "progress"
  element to indicate a progress that you do not even know how much more work is to be done yet.


  Progress of Task A : <progress value="60" max="100">60%</progress>
3. Structure of Web page

3.3. New Semantic Elements
  <meter>: "Meter" is a new element in HTML5 which represenet value of a known range as a
  gauge. The keyword here is "known range". That means, you are only allowed to use it when you
  are clearly aware of its minimum value and maximum value.

  One example is score of rating. I would rate this movie <meter min="0" max="10" value="8">8 of

  10</meter>.
3. Structure of Web page

3.3. New Semantic Elements
  <mark>: The mark <mark> element represents a run of text in one document marked or
  highlighted for reference purposes, due to its relevance in another context.

  Basically, it is used to bring the reader's attention to a part of the text that might not have been
3. Structure of Web page

3.3. New Semantic Elements
  <figure>: The <figure> tag specifies self-contained content, like illustrations, diagrams, photos,
  code listings, etc.

  While the content of the <figure> element is related to the main flow, its position is independent
  of the main flow, and if removed it should not affect the flow of the document
3. Structure of Web page
3.3. Lets put altogether
3. Structure of Web page
3.3. Designing blog with html5




  IE layout
  There’s one gotcha about styling HTML 5 pages in IE: it doesn’t work.
  You can force it to quite easily with a JavaScript hack
  document.createElement('element name').

  HTML 5 enabling script which I use in the header to conjure all the missing elements into existence
  all at once.
3. Structure of Web page
3.3. why so much fuss for semantics in html5

Well, they add semantics to the page. The browser now knows which area of your site is the header or
the footer because there are header and footer elements, whereas div might be called “branding

The first is for search engine use; it’s easy to imagine Messrs Google or Yahoo! giving lower weighting
to content in footer elements, or extra weight to content in the header.

site navigable for people with disabilities. People with learning difficulties might instruct their
browser always to put the articles before the navigation
HTML 5 Forms
4. Forms
4.1. Introduction
    HTML5 web forms have introduced new form elements, input types, attributes, and
other features. Many of these features we’ve been using in our interfaces for years:
form validation, combo boxes, placeholder text, and the like. The difference is that
where before we had to resort to JavaScript to create these behaviors, they’re now
available directly in the browser; all you need to do is set an attribute in your markup
to make them available.
4. Forms
4.1. Introduction
    HTML5 web forms have introduced new form elements, input types, attributes, and
other features. Many of these features we’ve been using in our interfaces for years:
form validation, combo boxes, placeholder text, and the like. The difference is that
where before we had to resort to JavaScript to create these behaviors, they’re now
available directly in the browser; all you need to do is set an attribute in your markup
to make them available.

HTML5 not only makes marking up forms easier on the developer, it’s also better
for the user. With client-side validation being handled natively by the browser,
there will be greater consistency across different sites, and many pages will load
faster without all that redundant JavaScript.


Now Lets look at
HTML5 Form Attributes
HTML5 Input Types
HTML5 Form Elements
4. Forms
4.1. form attributes

    <form> / <input> autocomplete Attribute

The autocomplete attribute specifies whether a form or input field should have autocomplete on or off.
When autocomplete is on, the browser automatically complete values based on values that the user
    has entered before.

Example: ../forms/autocomplete.html
4. Forms
4.1. form attributes

    <form> / <input> novalidate Attribute


The novalidate attribute is a boolean attribute.
When present, it specifies that the form-data (input) should not be validated when submitted.

Example: ../forms/noValidate.html
4. Forms
4.2. input attributes

    <input> autofocus Attribute


The novalidate attribute is a boolean attribute.
When present, it specifies that an <input> element should automatically get focus when the page
    loads.
Only one form element can have autofocus in a given page.

Example: ../forms/autofocus.html
4. Forms
4.2. input attributes

    <input> formaction Attribute


•   The formaction attribute specifies the URL of a file that will process the input control when the
    form is submitted.
•   The formaction attribute overrides the action attribute of the <form> element.
•   Note: The formaction attribute is used with type="submit" and type="image"

Example: ../forms/formaction.html
4. Forms
4.2. input attributes

    <input> formmethod Attribute


•   The formmethod attribute defines the HTTP method for sending form-data to the action URL.
•   The formmethod attribute overrides the method attribute of the <form> element.
•   Note: The formmethod attribute can be used with type="submit" and type="image".

Example: ../forms/formmethod.html
4. Forms
4.2. input attributes

    <input> formnovalidate Attribute


•   The novalidate attribute is a boolean attribute.
•   When present, it specifies that the <input> element should not be validated when submitted.
•   The formnovalidate attribute overrides the novalidate attribute of the <form> element.
•   Note: The formnovalidate attribute can be used with type="submit".

Example: ../forms/formnovalidate.html
4. Forms
4.2. input attributes

    <input> formtarget Attribute


•   The novalidate attribute is a boolean attribute.
•   When present, it specifies that the <input> element should not be validated when submitted.
•   The formnovalidate attribute overrides the novalidate attribute of the <form> element.
•   Note: The formnovalidate attribute can be used with type="submit".

Example: ../forms/formtarget.html
4. Forms
4.2. input attributes

    <input> list Attribute


•  Datalists are currently only supported in Firefox and Opera, but they are very cool.
•  They fulfill a common requirement: a text field with a set of predefined autocomplete
•  options.
Example: ../forms/datalist.html
4. Forms
4.2. input attributes

    <input> required Attribute


The Boolean required attribute tells the browser to only submit the form if the field
in question is filled out correctly. Obviously, this means that the field can’t be left
empty, but it also means that, depending on other attributes or the field’s type, only
certain types of values will be accepted.

If a required field is empty or invalid, the form will fail to submit, and focus will
move to the first invalid form element.

The required attribute can be set on any input type except button, range, color,
and hidden, all of which generally have a default value.

•   Example: ../forms/required.html
4. Forms
4.2. input attributes

    <input> placeholder Attribute

The placeholder attribute allows a short hint to be displayed inside the form element,
space permitting, telling the user what data should be entered in that field.
The placeholder text disappears when the field gains focus, and reappears on blur
if no data was entered.

Developers have provided this functionality with JavaScript
for years, but in HTML5 the placeholder attribute allows it to happen natively, with
no JavaScript required.

•   Example: ../forms/placeholder.html
4. Forms
4.2. input attributes

    <input> readonly Attribute


The readonly attribute is similar to the disabled attribute: it makes it impossible
for the user to edit the form field. Unlike disabled, however, the field can receive
focus, and its value is submitted with the form.
4. Forms
4.2. input attributes

    <input> multiple Attribute


The multiple attribute, if present, indicates that multiple values can be entered in
a form control. While it has been available in previous versions of HTML, it only applied to the select
     element. In HTML5, it can be added to email and file input types as well.

If present, the user can select more than one file, or include several comma-separated email
     addresses.

At the time of writing, multiple file input is only supported in Chrome, Opera, and
Firefox.

Select images: <input type="file" name="img" multiple="multiple" />
4. Forms
4.3. input types

    Introduction
you’re familiar with: checkbox, text, password, and submit. Here’s the full list of types that were
    available before HTML5:
■ button ■ checkbox ■ file ■ hidden ■ image ■ password ■ radio ■ reset ■ submit ■ text

HTML5 gives us input types that provide for more data-specific UI elements and
native data validation. HTML5 has a total of 13 new input types:
■ search
■ email
■ url
■ tel
■ datetime
■ date
■ month
■ week
■ time
■ datetime-local
■ number
■ range
■ color
4. Forms
4.3. input types

    <input type> search


The search type is used for search fields

Search type is only supported in Chrome, Opera, and
safari.

Search Google: <input type="search" name="googlesearch" />
4. Forms
4.3. input types

    <input type> email


The email type (type="email") is, unsurprisingly, used for specifying one or more email addresses.
    It supports the Boolean multiple attribute, allowing for multiple, comma-separated email
    addresses.

Search type is only supported in Chrome, Opera, firefox and safari.

E-mail: <input type="email" name="usermail" />
4. Forms
4.3. input types

    <input type> url


The url type is used for input fields that should contain a URL address.
The value of the url field is automatically validated when the form is submitted.

Search type is only supported in Chrome, Opera, firefox

Add your homepage: <input type="url" name="homepage" />
4. Forms
4.3. input types

    <input type> tel


For telephone numbers, use the tel input type (type="tel"). Unlike the url and email types,
the tel type doesn’t enforce a particular syntax or pattern. Letters and numbers—indeed, any
     characters other than new lines or carriage returns—are valid.

Telephone: <input type="tel" name="usrtel" />
4. Forms
4.3. input types

    <input type> range


The range input type (type="range") displays a slider control in browsers that
support it (currently Opera and WebKit). As with the number type, it allows the
min, max, and step attributes.

Define a control for entering a number whose exact value is not important

<label for="rating">On a scale of 1 to 10, my knowledge of HTML5 is:</label>
<input type="range" min="1" max="10" name="rating" type="range">
4. Forms
4.3. input types

    <input type> color


The color input type (type="color") provides the user with a color picker
    Supported only in Opera

Select your favorite color: <input type="color" name="favcolor" />
4. Forms
4.3. new html5 element

    <input type> keygen


The purpose of the <keygen> element is to provide a secure way to authenticate users.
The <keygen> tag specifies a key-pair generator field in a form.
When the form is submitted, two keys are generated, one private and one public.

The private key is stored locally, and the public key is sent to the server. The public key could be used
    to generate a client certificate to authenticate the user in the future.

<form action="demo_keygen.asp" method="get">
     Username: <input type="text" name="usr_name" />
     Encryption: <keygen name="security" />
     <input type="submit" />
    </form>
4. Forms
4.3. new html5 element

    <input type> output


The <output> element represents the result of a calculation (like one performed by a script).


<form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0
<input type="range" name="a" value="50" />100
+<input type="number" name="b" value="50" />
=<output name="x" for="a b"></output>
</form>
HTML 5 audio & video
5. Audio & video
4.3. new html5 element

    <audio>


   Until now, there has not been a standard for playing audio files on a web page.
Today, most audio files are played through a plug-in (like flash). However, different browsers may
   have different plug-ins.

HTML5 defines a new element which specifies a standard way to embed an audio file on a web page:
   the <audio> element.




 Example: ../audioVideo/audio.html
5. Audio & video
4.3. new html5 element

  <audio> : Add Fallback to flash

  To be safe, we need to add the fallback to a Flash audio player, in case the browser doesn't support
  any of the formats we specified. For instance, Firefox 3.5 only supports the audio tag with Ogg
  format, but we might only have the mp3 file available
5. Audio & video
4.3. new html5 element

    <video>


   Until now, there has not been a standard for showing a video/movie on a web page.
Today, most videos are shown through a plug-in (like flash). However, different browsers may have
   different plug-ins.
HTML5 defines a new element which specifies a standard way to embed a video/movie on a web page:
   the <video> element.
5. Audio & video
4.3. new html5 element

  <video attributes>
HTML 5 canvas
6. Canvas
6.1. What is Canvas

With HTML5’s Canvas API, we’re no longer limited to drawing rectangles on our sites.
    We can draw anything we can imagine, all through JavaScript. This can improve
the performance of our websites by avoiding the need to download images off the network.With
    canvas, we can draw shapes and lines, arcs and text, gradients and patterns. In addition, canvas
    gives us the power to manipulate pixels in images and even video.


The Canvas 2D Context spec is supported in:
■ Safari 2.0+
■ Chrome 3.0+
■ Firefox 3.0+
■ Internet Explorer 9.0+
■ Opera 10.0+
■ iOS (Mobile Safari) 1.0+
■ Android 1.0+
6. Canvas
6.2. Creating a canvas Element




  Onload of the page we triggering draw(); method
6. Canvas
6.2. Creating a canvas Element
6. Canvas
6.2. Drawing a canvas




 We obtain our drawing context by calling the getContext method and passing it
 the string "2d", since we’ll be drawing in two dimensions:
6. Canvas
6.2. filling brush with color




     Example: canvas/demo1.html
6. Canvas
6.2. loving it haan, lets see more examples




    Output




   Example: canvas/canvasLines.html
6. Canvas
6.2. create circle using canvas




     Output




   Example: canvas/canvasCircle.html
6. Canvas
6.2. create linear graident




     Output




   Example: canvas/canvasLinearGradient.html
6. Canvas
6.2. add image to canvas




    Output




   Example: canvas/addImage.html
6. Canvas
6. Canvas
6. Canvas
6. Canvas
HTML 5 Geo location
7. Geolocation
7.1. Introducton

The first new API we’ll cover is geolocation. Geolocation allows your visitors to share their current
     location.
Depending on how they’re visiting your site, their location may be determined by any of the following:
■ IP address
■ wireless network connection
■ cell tower
■ GPS hardware on the device

Privacy Concerns

Not everyone will want to share their location with you, as there are privacy concerns
inherent to this information. Thus, your visitors must opt in to share their location.
Nothing will be passed along to your site or web application unless the user agrees.
The decision is made via a prompt at the top of the browser. Figure 10.1 shows what
this prompt looks like in Chrome.
7. Geolocation
7.2. Using geolocation

With geolocation, you can determine the user’s current position. You can also be notified of changes to
    their position, which could be used, for example, in a web application that provided real-time
    driving directions.

Geolocation: methods

These different tasks are controlled through the three methods currently available
in the Geolocation API:

■ getCurrentPosition
■ watchPosition
■ clearPosition
7. Geolocation
   7.3. Using geolocation

   The example below is a simple Geolocation example returning the latitude and longitude of the user's
       position:




Check if Geolocation is supported
If supported, run the getCurrentPosition() method. If not, display a message to the user
If the getCurrentPosition() method is successful, it returns a coordinates object to the function specified in
the parameter ( showPosition )
The showPosition() function gets the displays the Latitude and Longitude
7. Geolocation
7.3. Using geolocation

The example below is a simple Geolocation example returning the latitude and longitude of the user's
    position with error handling:
7. Geolocation
7.3. Using geolocation

Displaying results in a MAP
                              Example: geolocation/map.html
HTML 5 web storage
8. Web storage
8.1. Introduction
The Web Storage API defines a standard for how we can save simple data locally
on a user’s computer or device. Before the emergence of the Web Storage standard, web developers
    often stored user information in cookies, or by using plugins. With Web Storage, we now have a
    standardized definition for how to store up to 5MB of simple data created by our websites or web
    applications. Better still, Web Storage already works in Internet Explorer 8.0!
Web Storage is a great complement to Offline Web Applications, because you need somewhere to store
    all that user data while you’re working offline, andWeb Storage provides it.

Two kinds of storage
session Storage
Session storage lets us keep track of data specific to one window or tab. It allows us to isolate
    information in each window. Even if the user is visiting the same site in two windows, each
    window will have its own individual session storage object and thus have separate, distinct data.
Session storage is not persistent—it only lasts for the duration of a user’s session
on a specific site (in other words, for the time that a browser window or tab is open
and viewing that site).

Local Storage
Unlike session storage, local storage allows us to save persistent data to the user’s computer, via the
    browser. When a user revisits a site at a later date, any data saved to local storage can be
    retrieved.
8. Web storage
8.2. local storage v/s cookies

Local storage can at first glance seem to play a similar role to HTTP cookies, but there are a few key
differences. First of all, cookies are intended to be read on the server side, whereas local storage is
only available on the client side.

If you need your server-side code to react differently based on some saved values, cookies are the way
to go. Yet, cookies are sent along with each HTTP request to your server and this can result in
significant overhead in terms of bandwidth.
Local storage, on the other hand, just sits on the user’s hard drive waiting to be read, so it costs
nothing to use
.
In addition, we have significantly more size to store things using local storage. With cookies, we could
only store 4KB of information in total.
With local storage, the maximum is 5MB.
8. Web storage
8.3. what web storage data look like

Data saved in Web Storage is stored as key/value pairs.
A few examples of simple key/value pairs:
■ key: name, value: suresh
■ key: trainer, value: html5
■ key: email, value: sureshjain17@gmail.com

Getting and setting our data
8. Web storage
8.4. getItem and setItem methods

We store a key/value pair in either local or session storage by calling setItem, and
we retrieve the value from a key by calling getItem.

If we want to store the data in or retrieve it from session storage, we simply call setItem or getItem on
the sessionStorage global object.

If we want to use local storage instead, we’d call setItem or getItem on the localStorage global object.

For example, if we’d like to save the value "6“ under the key "size", we’d call setItem like this:

localStorage.setItem("size", "6");

To retrieve the value we stored to the "size" key, we’d use the getItem method, specifying only the key:
var size = localStorage.getItem("size");

ShortCut
var size = localStorage["size"];

Convert stored data using var size = parseInt(localStorage.getItem("size"));
8. Web storage
8.5. remember me functionality using local storage

We can use Web Storage to add a “Remember me on this computer” checkbox to our registration
page. This way, once the user has registered, any other forms they may need to fill out on the site in
the future would already have this information.




onready 2 methods are called
1.Loading stored details
2.On checkbox check trigger save data method
8. Web storage
8.6 viewing localstorage values with web inspector

We can use the Safari or ChromeWeb Inspector to look at, or even change, the values
of our local storage. In Safari, we can view the stored data under the Storage tab, as
shown in Figure

More Related Content

What's hot

Css3 Presetation
Css3 PresetationCss3 Presetation
Css3 Presetation
Nicole Glasgow
 
CSS3 Introduction
CSS3 IntroductionCSS3 Introduction
CSS3 Introduction
Jaeni Sahuri
 
HTML5 and SVG
HTML5 and SVGHTML5 and SVG
HTML5 and SVGyarcub
 
The Dark Arts of CSS
The Dark Arts of CSSThe Dark Arts of CSS
The Dark Arts of CSS
SiddharthBorderwala
 
Intro to CSS3
Intro to CSS3Intro to CSS3
Intro to CSS3
Denise Jacobs
 
Presentation about html5 css3
Presentation about html5 css3Presentation about html5 css3
Presentation about html5 css3
Gopi A
 
[Worskhop Summits] CSS3 Workshop
[Worskhop Summits] CSS3 Workshop[Worskhop Summits] CSS3 Workshop
[Worskhop Summits] CSS3 Workshop
Christopher Schmitt
 
SVG - Scalable Vector Graphic
SVG - Scalable Vector GraphicSVG - Scalable Vector Graphic
SVG - Scalable Vector Graphic
Akila Iroshan
 
Svg
SvgSvg
Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and Canvas
Doris Chen
 
Website trends 2012 presentation
Website trends 2012 presentationWebsite trends 2012 presentation
Website trends 2012 presentationFresh_Egg
 
Introduction to CSS
Introduction to CSSIntroduction to CSS
Introduction to CSS
AursalanSayed
 
CSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and moreCSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and more
Russ Weakley
 
SVG For Web Designers (and Developers)
SVG For Web Designers (and Developers) SVG For Web Designers (and Developers)
SVG For Web Designers (and Developers)
Sara Soueidan
 
CSS: a rapidly changing world
CSS: a rapidly changing worldCSS: a rapidly changing world
CSS: a rapidly changing world
Russ Weakley
 
Html & Css presentation
Html  & Css presentation Html  & Css presentation
Html & Css presentation
joilrahat
 
SMACSS Workshop
SMACSS WorkshopSMACSS Workshop
SMACSS Workshop
Tim Hettler
 
CSS 3
CSS 3CSS 3
Basic HTML & CSS
Basic HTML & CSSBasic HTML & CSS
Basic HTML & CSSJohn Nelson
 
Intro to CSS
Intro to CSSIntro to CSS
Intro to CSS
Randy Oest II
 

What's hot (20)

Css3 Presetation
Css3 PresetationCss3 Presetation
Css3 Presetation
 
CSS3 Introduction
CSS3 IntroductionCSS3 Introduction
CSS3 Introduction
 
HTML5 and SVG
HTML5 and SVGHTML5 and SVG
HTML5 and SVG
 
The Dark Arts of CSS
The Dark Arts of CSSThe Dark Arts of CSS
The Dark Arts of CSS
 
Intro to CSS3
Intro to CSS3Intro to CSS3
Intro to CSS3
 
Presentation about html5 css3
Presentation about html5 css3Presentation about html5 css3
Presentation about html5 css3
 
[Worskhop Summits] CSS3 Workshop
[Worskhop Summits] CSS3 Workshop[Worskhop Summits] CSS3 Workshop
[Worskhop Summits] CSS3 Workshop
 
SVG - Scalable Vector Graphic
SVG - Scalable Vector GraphicSVG - Scalable Vector Graphic
SVG - Scalable Vector Graphic
 
Svg
SvgSvg
Svg
 
Dive into HTML5: SVG and Canvas
Dive into HTML5: SVG and CanvasDive into HTML5: SVG and Canvas
Dive into HTML5: SVG and Canvas
 
Website trends 2012 presentation
Website trends 2012 presentationWebsite trends 2012 presentation
Website trends 2012 presentation
 
Introduction to CSS
Introduction to CSSIntroduction to CSS
Introduction to CSS
 
CSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and moreCSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and more
 
SVG For Web Designers (and Developers)
SVG For Web Designers (and Developers) SVG For Web Designers (and Developers)
SVG For Web Designers (and Developers)
 
CSS: a rapidly changing world
CSS: a rapidly changing worldCSS: a rapidly changing world
CSS: a rapidly changing world
 
Html & Css presentation
Html  & Css presentation Html  & Css presentation
Html & Css presentation
 
SMACSS Workshop
SMACSS WorkshopSMACSS Workshop
SMACSS Workshop
 
CSS 3
CSS 3CSS 3
CSS 3
 
Basic HTML & CSS
Basic HTML & CSSBasic HTML & CSS
Basic HTML & CSS
 
Intro to CSS
Intro to CSSIntro to CSS
Intro to CSS
 

Similar to Getting started with html5

Html 5
Html 5Html 5
Html 5
Ajay Ghosh
 
Html5
Html5Html5
Html5
gjoabraham
 
Html5
Html5Html5
Html5
gjoabraham
 
HTML 5 Complete Reference
HTML 5 Complete ReferenceHTML 5 Complete Reference
HTML 5 Complete Reference
EPAM Systems
 
Html5 deciphered - designing concepts part 1
Html5 deciphered - designing concepts part 1Html5 deciphered - designing concepts part 1
Html5 deciphered - designing concepts part 1
Paxcel Technologies
 
Introduction to html5
Introduction to html5Introduction to html5
Introduction to html5kolev-prp
 
Html 5
Html 5Html 5
Introduction to html5
Introduction to html5Introduction to html5
Introduction to html5
Manav Prasad
 
Introduction to html55
Introduction to html55Introduction to html55
Introduction to html55
subrat55
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
IT Geeks
 
Front end full stack development module 1pptx
Front end full stack development module 1pptxFront end full stack development module 1pptx
Front end full stack development module 1pptx
MaruthiPrasad96
 

Similar to Getting started with html5 (20)

Html 5
Html 5Html 5
Html 5
 
Html5
Html5Html5
Html5
 
Html5
Html5Html5
Html5
 
HTML 5 Complete Reference
HTML 5 Complete ReferenceHTML 5 Complete Reference
HTML 5 Complete Reference
 
Wa html5-pdf
Wa html5-pdfWa html5-pdf
Wa html5-pdf
 
Wa html5-pdf
Wa html5-pdfWa html5-pdf
Wa html5-pdf
 
Html5 deciphered - designing concepts part 1
Html5 deciphered - designing concepts part 1Html5 deciphered - designing concepts part 1
Html5 deciphered - designing concepts part 1
 
Introduction to html5
Introduction to html5Introduction to html5
Introduction to html5
 
Wa html5-pdf
Wa html5-pdfWa html5-pdf
Wa html5-pdf
 
Wa html5-pdf
Wa html5-pdfWa html5-pdf
Wa html5-pdf
 
Html 5
Html 5Html 5
Html 5
 
Html5
Html5Html5
Html5
 
Html5 basics
Html5 basicsHtml5 basics
Html5 basics
 
Day1
Day1Day1
Day1
 
Introduction to html5
Introduction to html5Introduction to html5
Introduction to html5
 
Introduction to html55
Introduction to html55Introduction to html55
Introduction to html55
 
Introduction to HTML5
Introduction to HTML5Introduction to HTML5
Introduction to HTML5
 
Front end full stack development module 1pptx
Front end full stack development module 1pptxFront end full stack development module 1pptx
Front end full stack development module 1pptx
 
HTML 5
HTML 5HTML 5
HTML 5
 
Training HTML
Training HTMLTraining HTML
Training HTML
 

Recently uploaded

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 

Recently uploaded (20)

PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 

Getting started with html5

  • 1. GETTING STARTED WITH HTML5 -By Suresh Kumar
  • 2. Agenda  History, Vision & Future of HTML5  Getting Started With HTML5  Structure of a Web Page  Forms  Audio and Video  HTML5 Canvas  Introduction to Data Storage  Introduction to Geo location
  • 3. 1. History, Vision & Future of HTML5 1.1 What Is HTML5? • Successor of HTML 4.01 and XHTML 1.1 • It comes with new tags, features and APIs • Below is a non exhaustive list of features that tend to be labelled as "HTML5" in the medias: – New structural elements (<header>, <footer>, <nav> and more) – Forms 2.0 and client-side validation – Native browser support for audio and video (<video>, <audio>) – Canvas API and SVG – Web storage – Offline applications – Geolocation – Drag & Drop – Web Workers – New communications API (Server Sent Events, Web Sockets, …)
  • 4. 1. History, Vision & Future of HTML5 1.2 History of HTML5? • December 1997: HTML 4.0 is published by the W3C • February - March 1998: XML 1.0 is published • December 1999 - January 2000: ECMAScript 3rd Edition, XHTML 1.0 (Basically HTML tags reformulated in XML) and, HTML 4.01 recommendations are published • May 2001: XHTML 1.1 recommendation is published • August 2002: XHTML 2.0 first working draft is released. • December 2002: XHTML 2.0 second working draft published. • January 2008: First W3C working draft of HTML5 is published!!
  • 5. 1. History, Vision & Future of HTML5 1.3 Future of HTML5 • 84% of Developers Plan to Adopt Key HTML5 Features • The key to understanding HTML5 is that it is not one, but a group of technologies. Within HTML5, developers have a tremendous amount of choice regarding what they use and what they don’t use • The power of HTML5 being ready for prime-time can be seen in Microsoft’s choice to utilize it in Windows 8 Still on the fence with adopting HTML5 in your next project?
  • 6. 2. Getting started with HTML5 Wondering what it takes to get it started? • Any Text editor such as Notepad++, Editplus, Textmate, Dream weaver • Modern browsers such as Firefox 3.5 +, IE9, chrome, safari • Prior knowledge of HTML 4
  • 7. 3. Structure of Web page 3.1. New and Updated HTML5 Elements HTML5 introduces 28 new elements: <section>, <article>, <aside>, <hgroup>, <header>,<footer>, <nav>, <figure>, <figcaption>, <vi deo>, <audio>, <source>, <embed>, <mark>,<progress>, <meter>, <time>, <ruby>, <rt>, <rp>, <wbr>, <canvas>, <command>, <details>,<summary>, <datalist>, <keygen> and <output> An HTML page first starts with the DOCTYPE declaration HTML5 also update some of the previous existing elements to better reflect how they are used on the Web or to make them more useful such as: • The <a> element can now also contain flow content instead of just phrasing content • The <hr> element is now representing a paragraph-level thematic break • The <cite> element only represent the title of a work • The <strong> element is now representing importance rather than strong emphasis
  • 8. 3. Structure of Web page 3.2. First HTML5 webpage <!DOCTYPE html> <html> <head> <title>Title of the document</title> </head> <body> That’s all I need to create my first HTML5 page </body> </html> Output: Click here
  • 9. 3. Structure of Web page 3.3. New Semantic Elements <nav>: Represents a major navigation block. It groups links to other pages or to parts of the current page. <nav> does not have to be used in every place you can find links. For instance, footers often contains links to terms of service, copyright page and such, the <footer> element would be sufficient in that case
  • 10. 3. Structure of Web page 3.3. New Semantic Elements <Header>: tag specifies a header for a document or section. However, we mustn't think that "header" is only for masthead of a website. "header" can be use as a heading of an blog entry or news article as every article has its title and published date and time
  • 11. 3. Structure of Web page 3.3. New Semantic Elements <article>: The web today contains a ocean of news articles and blog entries. That gives W3C a good reason to define an element for article instead of <div class="article">. We should use article for content that we think it can be distributable. Just like news or blog entry can we can share in RSS feed "article" element can be nested in another "article" element. An article element doesn't just mean article content. You can have header andfooter element in an article. In fact, it is very common to have header as each article should have a title.
  • 12. 3. Structure of Web page 3.3. New Semantic Elements <aside>: The "aside" element is a section that somehow related to main content, but it can be separate from that content
  • 13. 3. Structure of Web page 3.3. New Semantic Elements <footer>: Similarly to "header" element, "footer" element is often referred to the footer of a web page. Well, most of the time, footer can be used as what we thought. Please don't think you can only have one footer per web document, you can have a footer in every section, or every article.
  • 14. 3. Structure of Web page 3.3. New Semantic Elements <Progress>: The new "progress" element appears to be very similar to the "meter" element. It is created to indicate progress of a specific task. The progress can be either determinate OR interderminate. Which means, you can use "progress" element to indicate a progress that you do not even know how much more work is to be done yet. Progress of Task A : <progress value="60" max="100">60%</progress>
  • 15. 3. Structure of Web page 3.3. New Semantic Elements <meter>: "Meter" is a new element in HTML5 which represenet value of a known range as a gauge. The keyword here is "known range". That means, you are only allowed to use it when you are clearly aware of its minimum value and maximum value. One example is score of rating. I would rate this movie <meter min="0" max="10" value="8">8 of 10</meter>.
  • 16. 3. Structure of Web page 3.3. New Semantic Elements <mark>: The mark <mark> element represents a run of text in one document marked or highlighted for reference purposes, due to its relevance in another context. Basically, it is used to bring the reader's attention to a part of the text that might not have been
  • 17. 3. Structure of Web page 3.3. New Semantic Elements <figure>: The <figure> tag specifies self-contained content, like illustrations, diagrams, photos, code listings, etc. While the content of the <figure> element is related to the main flow, its position is independent of the main flow, and if removed it should not affect the flow of the document
  • 18. 3. Structure of Web page 3.3. Lets put altogether
  • 19. 3. Structure of Web page 3.3. Designing blog with html5 IE layout There’s one gotcha about styling HTML 5 pages in IE: it doesn’t work. You can force it to quite easily with a JavaScript hack document.createElement('element name'). HTML 5 enabling script which I use in the header to conjure all the missing elements into existence all at once.
  • 20. 3. Structure of Web page 3.3. why so much fuss for semantics in html5 Well, they add semantics to the page. The browser now knows which area of your site is the header or the footer because there are header and footer elements, whereas div might be called “branding The first is for search engine use; it’s easy to imagine Messrs Google or Yahoo! giving lower weighting to content in footer elements, or extra weight to content in the header. site navigable for people with disabilities. People with learning difficulties might instruct their browser always to put the articles before the navigation
  • 22. 4. Forms 4.1. Introduction HTML5 web forms have introduced new form elements, input types, attributes, and other features. Many of these features we’ve been using in our interfaces for years: form validation, combo boxes, placeholder text, and the like. The difference is that where before we had to resort to JavaScript to create these behaviors, they’re now available directly in the browser; all you need to do is set an attribute in your markup to make them available.
  • 23. 4. Forms 4.1. Introduction HTML5 web forms have introduced new form elements, input types, attributes, and other features. Many of these features we’ve been using in our interfaces for years: form validation, combo boxes, placeholder text, and the like. The difference is that where before we had to resort to JavaScript to create these behaviors, they’re now available directly in the browser; all you need to do is set an attribute in your markup to make them available. HTML5 not only makes marking up forms easier on the developer, it’s also better for the user. With client-side validation being handled natively by the browser, there will be greater consistency across different sites, and many pages will load faster without all that redundant JavaScript. Now Lets look at HTML5 Form Attributes HTML5 Input Types HTML5 Form Elements
  • 24. 4. Forms 4.1. form attributes <form> / <input> autocomplete Attribute The autocomplete attribute specifies whether a form or input field should have autocomplete on or off. When autocomplete is on, the browser automatically complete values based on values that the user has entered before. Example: ../forms/autocomplete.html
  • 25. 4. Forms 4.1. form attributes <form> / <input> novalidate Attribute The novalidate attribute is a boolean attribute. When present, it specifies that the form-data (input) should not be validated when submitted. Example: ../forms/noValidate.html
  • 26. 4. Forms 4.2. input attributes <input> autofocus Attribute The novalidate attribute is a boolean attribute. When present, it specifies that an <input> element should automatically get focus when the page loads. Only one form element can have autofocus in a given page. Example: ../forms/autofocus.html
  • 27. 4. Forms 4.2. input attributes <input> formaction Attribute • The formaction attribute specifies the URL of a file that will process the input control when the form is submitted. • The formaction attribute overrides the action attribute of the <form> element. • Note: The formaction attribute is used with type="submit" and type="image" Example: ../forms/formaction.html
  • 28. 4. Forms 4.2. input attributes <input> formmethod Attribute • The formmethod attribute defines the HTTP method for sending form-data to the action URL. • The formmethod attribute overrides the method attribute of the <form> element. • Note: The formmethod attribute can be used with type="submit" and type="image". Example: ../forms/formmethod.html
  • 29. 4. Forms 4.2. input attributes <input> formnovalidate Attribute • The novalidate attribute is a boolean attribute. • When present, it specifies that the <input> element should not be validated when submitted. • The formnovalidate attribute overrides the novalidate attribute of the <form> element. • Note: The formnovalidate attribute can be used with type="submit". Example: ../forms/formnovalidate.html
  • 30. 4. Forms 4.2. input attributes <input> formtarget Attribute • The novalidate attribute is a boolean attribute. • When present, it specifies that the <input> element should not be validated when submitted. • The formnovalidate attribute overrides the novalidate attribute of the <form> element. • Note: The formnovalidate attribute can be used with type="submit". Example: ../forms/formtarget.html
  • 31. 4. Forms 4.2. input attributes <input> list Attribute • Datalists are currently only supported in Firefox and Opera, but they are very cool. • They fulfill a common requirement: a text field with a set of predefined autocomplete • options. Example: ../forms/datalist.html
  • 32. 4. Forms 4.2. input attributes <input> required Attribute The Boolean required attribute tells the browser to only submit the form if the field in question is filled out correctly. Obviously, this means that the field can’t be left empty, but it also means that, depending on other attributes or the field’s type, only certain types of values will be accepted. If a required field is empty or invalid, the form will fail to submit, and focus will move to the first invalid form element. The required attribute can be set on any input type except button, range, color, and hidden, all of which generally have a default value. • Example: ../forms/required.html
  • 33. 4. Forms 4.2. input attributes <input> placeholder Attribute The placeholder attribute allows a short hint to be displayed inside the form element, space permitting, telling the user what data should be entered in that field. The placeholder text disappears when the field gains focus, and reappears on blur if no data was entered. Developers have provided this functionality with JavaScript for years, but in HTML5 the placeholder attribute allows it to happen natively, with no JavaScript required. • Example: ../forms/placeholder.html
  • 34. 4. Forms 4.2. input attributes <input> readonly Attribute The readonly attribute is similar to the disabled attribute: it makes it impossible for the user to edit the form field. Unlike disabled, however, the field can receive focus, and its value is submitted with the form.
  • 35. 4. Forms 4.2. input attributes <input> multiple Attribute The multiple attribute, if present, indicates that multiple values can be entered in a form control. While it has been available in previous versions of HTML, it only applied to the select element. In HTML5, it can be added to email and file input types as well. If present, the user can select more than one file, or include several comma-separated email addresses. At the time of writing, multiple file input is only supported in Chrome, Opera, and Firefox. Select images: <input type="file" name="img" multiple="multiple" />
  • 36. 4. Forms 4.3. input types Introduction you’re familiar with: checkbox, text, password, and submit. Here’s the full list of types that were available before HTML5: ■ button ■ checkbox ■ file ■ hidden ■ image ■ password ■ radio ■ reset ■ submit ■ text HTML5 gives us input types that provide for more data-specific UI elements and native data validation. HTML5 has a total of 13 new input types: ■ search ■ email ■ url ■ tel ■ datetime ■ date ■ month ■ week ■ time ■ datetime-local ■ number ■ range ■ color
  • 37. 4. Forms 4.3. input types <input type> search The search type is used for search fields Search type is only supported in Chrome, Opera, and safari. Search Google: <input type="search" name="googlesearch" />
  • 38. 4. Forms 4.3. input types <input type> email The email type (type="email") is, unsurprisingly, used for specifying one or more email addresses. It supports the Boolean multiple attribute, allowing for multiple, comma-separated email addresses. Search type is only supported in Chrome, Opera, firefox and safari. E-mail: <input type="email" name="usermail" />
  • 39. 4. Forms 4.3. input types <input type> url The url type is used for input fields that should contain a URL address. The value of the url field is automatically validated when the form is submitted. Search type is only supported in Chrome, Opera, firefox Add your homepage: <input type="url" name="homepage" />
  • 40. 4. Forms 4.3. input types <input type> tel For telephone numbers, use the tel input type (type="tel"). Unlike the url and email types, the tel type doesn’t enforce a particular syntax or pattern. Letters and numbers—indeed, any characters other than new lines or carriage returns—are valid. Telephone: <input type="tel" name="usrtel" />
  • 41. 4. Forms 4.3. input types <input type> range The range input type (type="range") displays a slider control in browsers that support it (currently Opera and WebKit). As with the number type, it allows the min, max, and step attributes. Define a control for entering a number whose exact value is not important <label for="rating">On a scale of 1 to 10, my knowledge of HTML5 is:</label> <input type="range" min="1" max="10" name="rating" type="range">
  • 42. 4. Forms 4.3. input types <input type> color The color input type (type="color") provides the user with a color picker Supported only in Opera Select your favorite color: <input type="color" name="favcolor" />
  • 43. 4. Forms 4.3. new html5 element <input type> keygen The purpose of the <keygen> element is to provide a secure way to authenticate users. The <keygen> tag specifies a key-pair generator field in a form. When the form is submitted, two keys are generated, one private and one public. The private key is stored locally, and the public key is sent to the server. The public key could be used to generate a client certificate to authenticate the user in the future. <form action="demo_keygen.asp" method="get"> Username: <input type="text" name="usr_name" /> Encryption: <keygen name="security" /> <input type="submit" /> </form>
  • 44. 4. Forms 4.3. new html5 element <input type> output The <output> element represents the result of a calculation (like one performed by a script). <form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0 <input type="range" name="a" value="50" />100 +<input type="number" name="b" value="50" /> =<output name="x" for="a b"></output> </form>
  • 45. HTML 5 audio & video
  • 46. 5. Audio & video 4.3. new html5 element <audio> Until now, there has not been a standard for playing audio files on a web page. Today, most audio files are played through a plug-in (like flash). However, different browsers may have different plug-ins. HTML5 defines a new element which specifies a standard way to embed an audio file on a web page: the <audio> element. Example: ../audioVideo/audio.html
  • 47. 5. Audio & video 4.3. new html5 element <audio> : Add Fallback to flash To be safe, we need to add the fallback to a Flash audio player, in case the browser doesn't support any of the formats we specified. For instance, Firefox 3.5 only supports the audio tag with Ogg format, but we might only have the mp3 file available
  • 48. 5. Audio & video 4.3. new html5 element <video> Until now, there has not been a standard for showing a video/movie on a web page. Today, most videos are shown through a plug-in (like flash). However, different browsers may have different plug-ins. HTML5 defines a new element which specifies a standard way to embed a video/movie on a web page: the <video> element.
  • 49. 5. Audio & video 4.3. new html5 element <video attributes>
  • 51. 6. Canvas 6.1. What is Canvas With HTML5’s Canvas API, we’re no longer limited to drawing rectangles on our sites. We can draw anything we can imagine, all through JavaScript. This can improve the performance of our websites by avoiding the need to download images off the network.With canvas, we can draw shapes and lines, arcs and text, gradients and patterns. In addition, canvas gives us the power to manipulate pixels in images and even video. The Canvas 2D Context spec is supported in: ■ Safari 2.0+ ■ Chrome 3.0+ ■ Firefox 3.0+ ■ Internet Explorer 9.0+ ■ Opera 10.0+ ■ iOS (Mobile Safari) 1.0+ ■ Android 1.0+
  • 52. 6. Canvas 6.2. Creating a canvas Element Onload of the page we triggering draw(); method
  • 53. 6. Canvas 6.2. Creating a canvas Element
  • 54. 6. Canvas 6.2. Drawing a canvas We obtain our drawing context by calling the getContext method and passing it the string "2d", since we’ll be drawing in two dimensions:
  • 55. 6. Canvas 6.2. filling brush with color Example: canvas/demo1.html
  • 56. 6. Canvas 6.2. loving it haan, lets see more examples Output Example: canvas/canvasLines.html
  • 57. 6. Canvas 6.2. create circle using canvas Output Example: canvas/canvasCircle.html
  • 58. 6. Canvas 6.2. create linear graident Output Example: canvas/canvasLinearGradient.html
  • 59. 6. Canvas 6.2. add image to canvas Output Example: canvas/addImage.html
  • 64. HTML 5 Geo location
  • 65. 7. Geolocation 7.1. Introducton The first new API we’ll cover is geolocation. Geolocation allows your visitors to share their current location. Depending on how they’re visiting your site, their location may be determined by any of the following: ■ IP address ■ wireless network connection ■ cell tower ■ GPS hardware on the device Privacy Concerns Not everyone will want to share their location with you, as there are privacy concerns inherent to this information. Thus, your visitors must opt in to share their location. Nothing will be passed along to your site or web application unless the user agrees. The decision is made via a prompt at the top of the browser. Figure 10.1 shows what this prompt looks like in Chrome.
  • 66. 7. Geolocation 7.2. Using geolocation With geolocation, you can determine the user’s current position. You can also be notified of changes to their position, which could be used, for example, in a web application that provided real-time driving directions. Geolocation: methods These different tasks are controlled through the three methods currently available in the Geolocation API: ■ getCurrentPosition ■ watchPosition ■ clearPosition
  • 67. 7. Geolocation 7.3. Using geolocation The example below is a simple Geolocation example returning the latitude and longitude of the user's position: Check if Geolocation is supported If supported, run the getCurrentPosition() method. If not, display a message to the user If the getCurrentPosition() method is successful, it returns a coordinates object to the function specified in the parameter ( showPosition ) The showPosition() function gets the displays the Latitude and Longitude
  • 68. 7. Geolocation 7.3. Using geolocation The example below is a simple Geolocation example returning the latitude and longitude of the user's position with error handling:
  • 69. 7. Geolocation 7.3. Using geolocation Displaying results in a MAP Example: geolocation/map.html
  • 70. HTML 5 web storage
  • 71. 8. Web storage 8.1. Introduction The Web Storage API defines a standard for how we can save simple data locally on a user’s computer or device. Before the emergence of the Web Storage standard, web developers often stored user information in cookies, or by using plugins. With Web Storage, we now have a standardized definition for how to store up to 5MB of simple data created by our websites or web applications. Better still, Web Storage already works in Internet Explorer 8.0! Web Storage is a great complement to Offline Web Applications, because you need somewhere to store all that user data while you’re working offline, andWeb Storage provides it. Two kinds of storage session Storage Session storage lets us keep track of data specific to one window or tab. It allows us to isolate information in each window. Even if the user is visiting the same site in two windows, each window will have its own individual session storage object and thus have separate, distinct data. Session storage is not persistent—it only lasts for the duration of a user’s session on a specific site (in other words, for the time that a browser window or tab is open and viewing that site). Local Storage Unlike session storage, local storage allows us to save persistent data to the user’s computer, via the browser. When a user revisits a site at a later date, any data saved to local storage can be retrieved.
  • 72. 8. Web storage 8.2. local storage v/s cookies Local storage can at first glance seem to play a similar role to HTTP cookies, but there are a few key differences. First of all, cookies are intended to be read on the server side, whereas local storage is only available on the client side. If you need your server-side code to react differently based on some saved values, cookies are the way to go. Yet, cookies are sent along with each HTTP request to your server and this can result in significant overhead in terms of bandwidth. Local storage, on the other hand, just sits on the user’s hard drive waiting to be read, so it costs nothing to use . In addition, we have significantly more size to store things using local storage. With cookies, we could only store 4KB of information in total. With local storage, the maximum is 5MB.
  • 73. 8. Web storage 8.3. what web storage data look like Data saved in Web Storage is stored as key/value pairs. A few examples of simple key/value pairs: ■ key: name, value: suresh ■ key: trainer, value: html5 ■ key: email, value: sureshjain17@gmail.com Getting and setting our data
  • 74. 8. Web storage 8.4. getItem and setItem methods We store a key/value pair in either local or session storage by calling setItem, and we retrieve the value from a key by calling getItem. If we want to store the data in or retrieve it from session storage, we simply call setItem or getItem on the sessionStorage global object. If we want to use local storage instead, we’d call setItem or getItem on the localStorage global object. For example, if we’d like to save the value "6“ under the key "size", we’d call setItem like this: localStorage.setItem("size", "6"); To retrieve the value we stored to the "size" key, we’d use the getItem method, specifying only the key: var size = localStorage.getItem("size"); ShortCut var size = localStorage["size"]; Convert stored data using var size = parseInt(localStorage.getItem("size"));
  • 75. 8. Web storage 8.5. remember me functionality using local storage We can use Web Storage to add a “Remember me on this computer” checkbox to our registration page. This way, once the user has registered, any other forms they may need to fill out on the site in the future would already have this information. onready 2 methods are called 1.Loading stored details 2.On checkbox check trigger save data method
  • 76. 8. Web storage 8.6 viewing localstorage values with web inspector We can use the Safari or ChromeWeb Inspector to look at, or even change, the values of our local storage. In Safari, we can view the stored data under the Storage tab, as shown in Figure

Editor's Notes

  1. Wondering what it takes to get started with html5?
  2. Wondering what it takes to get started with html5?
  3. Wondering what it takes to get started with html5?
  4. Wondering what it takes to get started with html5?
  5. Wondering what it takes to get started with html5?
  6. Wondering what it takes to get started with html5?
  7. Wondering what it takes to get started with html5?
  8. Wondering what it takes to get started with html5?
  9. Wondering what it takes to get started with html5?
  10. Wondering what it takes to get started with html5?
  11. Wondering what it takes to get started with html5?
  12. Wondering what it takes to get started with html5?
  13. Wondering what it takes to get started with html5?
  14. Wondering what it takes to get started with html5?
  15. Wondering what it takes to get started with html5?
  16. Wondering what it takes to get started with html5?
  17. Wondering what it takes to get started with html5?
  18. Wondering what it takes to get started with html5?
  19. Wondering what it takes to get started with html5?
  20. Wondering what it takes to get started with html5?
  21. Wondering what it takes to get started with html5?
  22. Wondering what it takes to get started with html5?
  23. Wondering what it takes to get started with html5?
  24. Wondering what it takes to get started with html5?
  25. Wondering what it takes to get started with html5?
  26. Wondering what it takes to get started with html5?
  27. Wondering what it takes to get started with html5?
  28. Wondering what it takes to get started with html5?
  29. Wondering what it takes to get started with html5?
  30. Wondering what it takes to get started with html5?
  31. Wondering what it takes to get started with html5?
  32. Wondering what it takes to get started with html5?
  33. Wondering what it takes to get started with html5?
  34. Wondering what it takes to get started with html5?
  35. Wondering what it takes to get started with html5?
  36. Wondering what it takes to get started with html5?
  37. Wondering what it takes to get started with html5?
  38. Wondering what it takes to get started with html5?
  39. Wondering what it takes to get started with html5?
  40. Wondering what it takes to get started with html5?
  41. Wondering what it takes to get started with html5?
  42. Wondering what it takes to get started with html5?
  43. Wondering what it takes to get started with html5?
  44. Wondering what it takes to get started with html5?
  45. Wondering what it takes to get started with html5?
  46. Wondering what it takes to get started with html5?
  47. Wondering what it takes to get started with html5?
  48. Wondering what it takes to get started with html5?
  49. Wondering what it takes to get started with html5?
  50. Wondering what it takes to get started with html5?
  51. Wondering what it takes to get started with html5?
  52. Wondering what it takes to get started with html5?
  53. Wondering what it takes to get started with html5?
  54. Wondering what it takes to get started with html5?
  55. Wondering what it takes to get started with html5?
  56. Wondering what it takes to get started with html5?
  57. Wondering what it takes to get started with html5?
  58. Wondering what it takes to get started with html5?
  59. Wondering what it takes to get started with html5?
  60. Wondering what it takes to get started with html5?
  61. Wondering what it takes to get started with html5?
  62. Wondering what it takes to get started with html5?
  63. Wondering what it takes to get started with html5?
  64. Wondering what it takes to get started with html5?
  65. Wondering what it takes to get started with html5?
  66. Wondering what it takes to get started with html5?