Friday, 30 December 2011

HTML5 Global Attributes

The global attributes are supported by all HTML 5 elements (with a few exceptions).


 HTML5 global attributes:
 
Attribute
Value
Description
accesskey
character
Specifies a shortcut key to access an element
class
classname
Refers to a class specified in a style sheet
Contenteditable     New
true
false
inherit
Specifies whether a user can edit the content of an element or not
Contextmenu        New
menu_id
Specifies a context menu for an element. The value must be the id of a <menu> element
dir
ltr
rtl
auto
Specifies the text direction for the content in an element
Draggable               New
true
false
auto
Specifies whether a user is allowed to drag an element or not
Dropzone             New       
copy
move
link
Specifies what happens when dragged items/data is dropped in the element
Hidden                 New
hidden
Specifies that an element should be hidden
id
id
Specifies a unique id for an element
lang
language_code
Specifies the language of the element's content
Spellcheck         New
true
false
Specifies if the element must have its spelling and grammar checked
style
style_definitions
Specifies an inline style for an element
tabindex
number
Specifies the tab order of an element
title
text
Specifies extra information about an element

HTML5 Tag Reference

HTML5 improves for handle all HTML elements, and recover it from errors.
Some of the new features in HTML5 are functions for embedding audio, video, graphics, client-side data storage, and interactive documents. HTML5 also contains new elements like <nav>, <header>, <footer>, and <figure>.
HTML5 is not a W3C recommendation yet.


New HTML5 tags :.
Tag
Description
<!--...-->
Defines a comment
<!DOCTYPE>
Defines the document type
<a>
Defines a hyperlink
<abbr>
Defines an abbreviation
<acronym>
Not supported in HTML5
<address>
Defines contact information for the author/owner of a document/article
<applet>
Not supported in HTML5
<area>
Defines an area inside an image-map
<article>New
Defines an article
<aside>New
Defines content aside from the page content
<audio>New
Defines sound content
<b>
Defines bold text
<base>
Specifies the base URL/target for all relative URLs in a document
<basefont>
Not supported in HTML5
<bdi>New
Isolates a part of text that might be formatted in a different direction from other text outside it
<bdo>
Overrides the current text direction
<big>
Not supported in HTML5
<blockquote>
Defines a section that is quoted from another source
<body>
Defines the document's body
<br>
Defines a single line break
<button>
Defines a clickable button
<canvas>New
Used to draw graphics, on the fly, via scripting (usually JavaScript)
<caption>
Defines a table caption
<center>
Not supported in HTML5
<cite>
Defines the title of a work
<code>
Defines a piece of computer code
<col>
Specifies column properties for each column within a <colgroup> element 
<colgroup>
Specifies a group of one or more columns in a table for formatting
<command>New
Defines a command button that a user can invoke
<datalist>New
Specifies a list of pre-defined options for input controls
<dd>
Defines a description of an item in a definition list
<del>
Defines a text that has been deleted from a document
<details>New
Defines additional details that the user can view or hide
<dfn>
Defines a definition term
<dir>
Not supported in HTML5
<div>
Defines a section in a document
<dl>
Defines a definition list
<dt>
Defines a term (an item) in a definition list
<em>
Defines emphasized text 
<embed>New
Defines a container for an external application or interactive content (a plug-in)
<fieldset>
Groups related elements in a form
<figcaption>New
Defines a caption for a <figure> element
<figure>New
Specifies self-contained content
<font>
Not supported in HTML5
<footer>New
Defines a footer for a document or section
<form>
Defines an HTML form for user input
<frame>
Not supported in HTML5
<frameset>
Not supported in HTML5
<h1> to <h6>
Defines HTML headings
<head>
Defines information about the document
<header>New
Specifies an introduction, or a group of navigation elements for a document
<hgroup>New
Groups a set of <h1> to <h6> elements when a heading has multiple levels
<hr>
Defines a thematic change in the content
<html>
Defines the root of an HTML document
<i>
Defines a part of text in an alternate voice or mood
<iframe>
Defines an inline frame
<img>
Defines an image
<input>
Defines an input control
<ins>
Defines a text that has been inserted into a document
<keygen>New
Defines a key-pair generator field (for forms)
<kbd>
Defines keyboard input
<label>
Defines a label for an input element
<legend>
Defines a caption for a <fieldset>, <figure>, or <details> element
<li>
Defines a list item
<link>
Defines the relationship between a document and an external resource (most used to link to style sheets)
<map>
Defines a client-side image-map 
<mark>New
Defines marked/highlighted text
<menu>
Defines a list/menu of commands
<meta>
Defines metadata about an HTML document
<meter>New
Defines a scalar measurement within a known range (a gauge)
<nav>New
Defines navigation links
<noframes>
Not supported in HTML5
<noscript>
Defines an alternate content for users that do not support client-side scripts
<object>
Defines an embedded object
<ol>
Defines an ordered list
<optgroup>
Defines a group of related options in a drop-down list
<option>
Defines an option in a drop-down list
<output>New
Defines the result of a calculation
<p>
Defines a paragraph
<param>
Defines a parameter for an object
<pre>
Defines preformatted text
<progress>New
Represents the progress of a task
<q>
Defines a short quotation
<rp>Ne
Defines what to show in browsers that do not support ruby annotations
<rt>New
Defines an explanation/pronunciation of characters (for East Asian typography)
<ruby>New
Defines a ruby annotation (for East Asian typography)
<s>
Defines text that is no longer correct
<samp>
Defines sample output from a computer program
<script>
Defines a client-side script
<section>New
Defines a section in a document
<select>
Defines a drop-down list
<small>
Defines smaller text
<source>New
Defines multiple media resources for media elements (<video> and <audio>)
<span>
Defines a section in a document
<strike>
Not supported in HTML5
<strong>
Defines important text
<style>
Defines style information for a document
<sub>
Defines subscripted text
<summary>New
Defines a visible heading for a <details> element
<sup>
Defines superscripted text
<table>
Defines a table
<tbody>
Groups the body content in a table
<td>
Defines a cell in a table
<textarea>
Defines a multiline input control (text area)
<tfoot>
Groups the footer content in a table
<th>
Defines a header cell in a table
<thead>
Groups the header content in a table
<time>New
Defines a date/time
<title>
Defines a title for the document
<tr>
Defines a row in a table
<track>New
Defines text tracks for media elements (<video> and <audio>)
<tt>
Not supported in HTML5
<u>
Not supported in HTML5
<ul>
Defines an unordered list
<var>
Defines a variable
<video>New
Defines a video or movie
<wbr>New
Defines a possible line-break

HTML5 - required Attribute

required Attribute

The required attribute specifies that before submitting an input field must be filled out .
Note: The required attribute works with the following <input> types: text, search, url, telephone, email, password, date pickers, number, checkbox, radio, and file.

Syntax

Name: <input type="text" name="user_name" required="required" /> 

Example

 <!DOCTYPE html>
<html>
<body>

<form action="demo_form.asp" method="get">
Name: <input type="text" name="user_name" required="required" />
<input type="submit" />
</form>

</body>
</html>

HTML5 - placeholder Attribute

placeholder Attribute

The placeholder attribute provides to describe the expected value of an input field.
Note: The placeholder attribute works with the following <input> types: text, search, url, telephone, email, and password
The hint is displayed in the input field when it is empty, and disappears when the field gets focus:

Syntax

<input type="search" name="user_search"  placeholder="Search HTML5 demos and examples" /> 

Example

<!DOCTYPE html>
<html>
<body>

<form action="demo_form.asp" method="get">
<input type="search" name="user_search" placeholder="Search  HTML5 demos and examples" />
<input type="submit" />
</form>

</body>
</html>

 

HTML5 - pattern Attribute

pattern Attribute

The pattern attribute used a pattern to validate an input field.
The pattern is a regular expression.
Note: The pattern attribute works with the following <input> types: text, search, url, telephone, email, and password.
The example below shows a text field that can only contain three letters (no numbers or special characters):

Syntax

Country code: <input type="text" name="country_code"
pattern="[A-z]{3}" title="Three letter country code" />

Example

  <!DOCTYPE html>
<html>
<body>

<form action="demo_form.asp" method="get">
Country code: <input type="text" name="country_code" pattern="[A-z]{3}"
title="Three letter country code" />
<input type="submit" />
</form>

</body>
</html>

HTML5 - novalidate Attribute

novalidate Attribute

The novalidate attribute specifies that the form or input field should not be validated when submitted.
If this attribute is present the form will not validate form input.
Note: The novalidate attribute works with: <form> and the following <input> types: text, search, url, telephone, email, password, date pickers, range, and color.

Syntax

<form action="demo_form.asp" novalidate="novalidate">
E-mail: <input type="email" name="user_email" />
<input type="submit" />
</form> 

Example

  <!DOCTYPE html>
<html>
<body>

<form action="demo_form.asp" novalidate="novalidate">
E-mail: <input type="email" name="user_email" />
<input type="submit" />
</form>

</body>
</html>

multiple Attribute

The multiple attribute can be selected for an input field which has  multiple values .
Note: The multiple attribute works with the  <input> types: email, and file.

Syntax

Select images: <input type="file" name="img" multiple="multiple" />

Example

  <!DOCTYPE html>
<html>
<body>

<form action="demo_form.asp" method="get">
Select images: <input type="file" name="img" multiple="multiple" />
<input type="submit" />
</form>
<p>Try to select more than one file .</p>

</body>
</html>

HTML5 - min, max and step Attributes

min, max and step Attributes

The min, max and step attributes are used to specify restrictions for input types containing numbers or dates.
The max attribute specifies the maximum value allowed for the input field.
The min attribute specifies the minimum value allowed for the input field.
The step attribute specifies the legal number intervals for the input field (if step="3", legal numbers could be -3,0,3,6, etc).
Note: The min, max, and step attributes works with the following <input> types: date pickers, number, and range.
The example below shows a numeric field that accepts values between 0 and 10, with a step of 3 (legal numbers are 0, 3, 6 and 9):

Syntax

Points: <input type="number" name="points" min="0" max="15" step="5" /> 

Example

  <!DOCTYPE html>
<html>
<body>

<form action="demo_form.asp" method="get">
Points: <input type="number" name="points" min="0" max="15" step="5"/>
<input type="submit" />
</form>

</body>
</html>

HTML5 - list Attribute

list Attribute

The list attribute specifies a datalist for an input field. A datalist is a list of options for an input field.
Note: The list attribute works with the following <input> types: text, search, url, telephone, email, date pickers, number, range, and color.

Syntax

Webpage: <input type="url" list="url_list" name="link" />
<datalist id="url_list">
<option label="W3Schools" value="http://css3-xhtml.blogspot.com" />
<option label="Google" value="http://www.google.com" />
<option label="Microsoft" value="http://html5-demo.blogspot.com" />
</datalist> 

Example

  <!DOCTYPE html>
<html>
<body>

<form action="demo_form.asp" method="get">
Webpage: <input type="url" list="url_list" name="link" />
<datalist id="url_list">
<option label="css3-xhtml" value="http://css3-xhtml.blogspot.com" />
<option label="Google" value="http://www.google.com" />
<option label="html5-demo" value="http://html5-demo.blogspot.com" />
</datalist>
<input type="submit" />
</form>

</body>
</html>

HTML5 - height and width Attributes

height and width Attributes

The height and width attributes specifies the height and width of the image used for the input type image.
Note: The height and width attributes only works with <input> type: image.

Syntax

<input type="image" src="img_type.gif" width="40" height="50" /> 

Example

  <!DOCTYPE html>
<html>
<body>

<form action="demo_form.asp" method="get">
User name: <input type="text" name="user_name" /><br />
<input type="image" src="img_submit.gif" width="24" height="24" />
</form>

</body>
</html>


HTML5 - Form Override Attributes

Form Override Attributes

The form override attributes allow you to override some of the attributes set for the form element.
The form override attributes are:
  • formaction - Overrides the form action attribute
  • formenctype - Overrides the form enctype attribute
  • formmethod - Overrides the form method attribute
  • formnovalidate - Overrides the form novalidate attribute
  • formtarget - Overrides the form target attribute
Note: The form override attributes works with the following <input> types: submit and image.

Syntax

<form action="demo_form.asp" method="get" id="user_form">
E-mail: <input type="email" name="userid" /><br />
<input type="submit" value="Submit" />
<br />
<input type="submit" formaction="demo_admin.asp" value="Submit as admin" />
<br />
<input type="submit" formnovalidate="true"
value="Submit without validation" />
<br />
</form>

Example

  <!DOCTYPE html>
<html>
<body>

<form action="demo_form.asp" method="get" id="user_form">
E-mail: <input type="email" name="userid" /><br />
<input type="submit" value="Submit" /><br />
<input type="submit" formaction="demo_admin.asp" value="Submit as admin" /><br />
<input type="submit" formnovalidate="true" value="Submit without validation" /><br />
</form>

</body>
</html>

HTML5- Form Attribute

Form Attribute

The form attribute specifies the input field which is belong to one or more forms.
It must refer to the id of the form.
Note: The form attribute works with all <input> types.

Syntax

<form action="demo_form.asp" method="get" id="user_form">
First name:<input type="text" name="fname" />
<input type="submit" />
</form>
Last name: <input type="text" name="lname" form="user_form" />

Example

 <!DOCTYPE html>
<html>
<body>

<form action="demo_form.asp" method="get" id="user_form">
First name:<input type="text" name="fname" />
<input type="submit" />
</form>

<p>The input field below is outside the form element, but still part of the form.</p>

Last name: <input type="text" name="lname" form="user_form" />

</body>
</html>

HTML5 - Autofocus Form Attribute

Autofocus Attribute

The autofocus attribute specifies that a field should automatically get focus when a page is loaded.
Note: The autofocus attribute works with all <input> types.

Syntax

User name: <input type="text" name="user_name"  autofocus="autofocus" /> 

Example

  <!DOCTYPE html>
<html>
<body>

<form action="demo_form.asp" method="get">
User name: <input type="text" name="user_name" autofocus="autofocus" />
<input type="submit" />
</form>

</body>
</html>

HTML5- Autocomplete Form Attribute

Autocomplete Form Attribute

The autocomplete attribute specifies that the form or input field should have an autocomplete function.
Note: The autocomplete attribute works with <form>, and the following <input> types: text, search, url, telephone, email, password, datepickers, range, and color.
When the user starts to type in an autocomplete field, the browser should display options to fill in the field:

Syntax

<form action="demo_form.asp" method="get" autocomplete="on">
UserName: <input type="text" name="UserName" /><br />
Password: <input type="text" name="Password" /><br />
E-mail: <input type="email" name="email" autocomplete="off" /><br />
<input type="submit" />
</form> 
 

Example

<!DOCTYPE html>
<html>
<body>

<form action="demo_form.asp" method="get" autocomplete="on">
UserName:<input type="text" name="UserName" /><br />
Password:<input type="text" name="Password" /><br />
  E-mail: <input type="email" name="email" /><br />
  <input type="submit" />
</form>

<p>Fill in and submit the form, then reload the page, start to fill in the form again - and see how autocomplete works.</p>
<p>Then, try to set autocomplete to "off".</p>

</body>
</html>

 

HTML5 Form Attributes

The new form attributes are for <form> and <input>.
New form attributes are:
  • autocomplete
  • novalidate
New input attributes are:
  • autocomplete
  • autofocus
  • form
  • form overrides (formaction, formenctype, formmethod, formnovalidate, formtarget)
  • height and width
  • list
  • min, max and step
  • multiple
  • pattern (regexp)
  • placeholder
  • required

Browser Support

Attribute IE Firefox Opera Chrome Safari
autocomplete 8.0 3.5 9.5 3.0 4.0
autofocus No 4.0 10.0 3.0 4.0
form No 4.0 9.5 10.0 No
form overrides No 4.0 10.5 10.0 No
height and width 8.0 3.5  9.5 3.0 4.0
list No 4.0 9.5 No No
min, max and step No No 9.5 3.0 No
multiple No 3.5 11.0 3.0 4.0
novalidate No 4.0 11.0 10.0 No
pattern No 4.0 9.5 3.0 No
placeholder No 4.0 11.0 3.0 3.0
required No 4.0 9.5 3.0 No

HTML5 Form Element

<output> Element

The <output> element is used for different types of output, like calculations or script output:

Syntax

<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>
 

Example:

<!DOCTYPE html>
<html>
<body>

<form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0
<input type="range" name="a" value="" />100
+<input type="number" name="b" value="" />
=<output name="x" for="a b"></output>
</form>

</body>
</html>

 

HTML5 Form Element

<keygen> Element

The purpose of the <keygen> element is to provide a secure way to authenticate users.
The <keygen> element is a key-pair generator. When a form is submitted, two keys are generated, one private and one public.
The private key is stored on the client, 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.
Currently, the browser support for this element is not good enough to be a useful security standard.

Syntax:

<form action="demo_form.asp" method="get">
Username: <input type="text" name="user_name" />
Encryption: <keygen name="security" />
<input type="submit" />
</form> 
 

Example:

<!DOCTYPE html>
<html>
<body>

<form action="demo_keygen.asp" method="get">
Username: <input type="text" name="user_name" />
Encryption: <keygen name="security" />
<input type="submit" />
</form>

</body>
</html>

 

HTML5 Form Element

<datalist> Element

The <datalist> element specifies a list of options for an input field.
The list is created with <option> elements inside the <datalist>.
To bind a <datalist> to an input field, let the list attribute of the input field refer to the id of the datalist:

Syntax:

Webpage: <input type="url" list="url_list" name="link" />
<datalist id="url_list">
<option label="W3Schools" value="http://html5-demo.blogspot.com" />
<option label="Google" value="http://www.google.com" />
<option label="Microsoft" value="http://css3-xhtml.blogspot.com" />
</datalist>

Example:

<!DOCTYPE html>
<html>
<body>

<form action="demo_form.asp" method="get">
Webpage: <input type="url" list="url_list" name="link" />
<datalist id="url_list">
    <option label="W3Schools" value="http://html5-demo.blogspot.com" />
    <option label="Google" value="http://www.google.com" />
    <option label="Microsoft" value="http://css3-xhtml.blogspot.com" />
</datalist>
<input type="submit" />
</form>

</body>
</html>

HTML5 Form Elements

The new form elements are :
  • <datalist> -Defines a list of options for an input field
       
  • <keygen> -  Defines a key-pair generator field
        
  • <output>- Represents the result of a calculation

Browser Support

Tag IE Firefox Opera Chrome Safari
<datalist> No 4.0 9.5 No No
<keygen> No 4.0 10.5 3.0 No
<output> No 4.0 9.5 10.0 5.1

Thursday, 29 December 2011

HTML5 Canvas


The HTML5 canvas element is used JavaScript for dynamic, scriptable rendering of 2D shapes and bitmap images to draw graphics on a web page.
A canvas is a rectangular area, and you control every pixel of it.
The canvas element has several methods for drawing paths, boxes, circles, characters, and adding images.
It has no drawing abilities of its own. All drawing must be done inside a JavaScript.

<canvas id="myCanvas" width="200" height="100"></canvas>

Syntax:

<script type="text/javascript">
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="maroon";
ctx.fillRect(0,0,100,50);

</script>


Example:1

 <!DOCTYPE html>
<html>
<body>

<canvas id="myCanvas" width="200" height="100" style="border:1px solid #c3c3c3;">
Your browser does not support the canvas element.
</canvas>

<script type="text/javascript">

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="maroon";
ctx.fillRect(0,0,100,50);

</script>

</body>
</html>


Result:




Note:

  1. JavaScript uses the id to find the canvas element: 
             var c=document.getElementById("myCanvas"); 
   2. create a context object:
            var ctx=c.getContext("2d");
  3. The fillStyle method makes it maroon, and the fillRect method specifies the shape, position, and  size.
               The canvas' X and Y coordinates are used to position drawings on the canvas.
                         ctx.fillStyle="maroon";
                          ctx.fillRect(0,0,150,75); 
 
Example 2: Draw a line by specifying from where it will start, and it will stop.
 
<!DOCTYPE html>
<html>
<body>

<canvas id="myCanvas-range" width="200" height="200" style="border:1px solid red;">
Your browser does not support the canvas element.
</canvas>

<script type="text/javascript">

var c=document.getElementById("myCanvas-range");
var ctx=c.getContext("2d");
ctx.moveTo(20,20);
ctx.lineTo(100,75);
ctx.lineTo(20,75);
ctx.stroke();

</script>

</body>
</html>

Result:
 
 
Example 3: Draw a circle by specifying the size, color, and position.
 
 <!DOCTYPE html>
<html>
<body>

<canvas id="myCanvas" width="200" height="200" style="border:2px solid green;">
Your browser does not support the canvas element.
</canvas>

<script type="text/javascript">
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="maroon";
ctx.beginPath();
ctx.arc(70,50,50,50,Math.PI*2,true);
ctx.closePath();
ctx.fill();
</script>

</body>
</html>

Result:
 
Example 4: Draw a gradient background with the colors specify.
 
<!DOCTYPE html>
<html>
<body>

<canvas id="myCanvas" width="200" height="200" style="border:2px solid blue;">
Your browser does not support the canvas element.
</canvas>


<script type="text/javascript">

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var grd=ctx.createLinearGradient(0,0,175,50);
grd.addColorStop(0,"red");
grd.addColorStop(1,"green");

ctx.fillStyle=grd;
ctx.fillRect(0,0,150,75);

</script>

</body>
</html>

Result: