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:


 

HTML5 Audio Tags


HTML5 audio Tags



<audio> -
Defines soundcontent.


<source>: Defines multiple media resources for media elements, such as <video> and <audio>







  • HTML5 provides a standard for playing audio files.
  • There has not been a standard for playing audio files on a web page.
  • Although HTML 5 audio is a relatively immature part of the standard.
  • 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.
  • The control attribute adds audio controls, like play, pause, and volume.
  • You should also insert text content between the <audio> and </audio> tags for browsers that do not support the <audio> element.
  • The <audio> element allows multiple <source> elements. <source> elements can link to different audio files. The browser will use the first recognized format.
     
Syntax:

<audio controls="controls">
  <source src="song.ogg" type="audio/ogg" />
  <source src="song.mp3" type="audio/mpeg" />
  Your browser does not support the audio element.
</audio>

Example:

 <!DOCTYPE html>
<html>
<body>

<audio controls="controls">
  <source src="song.ogg" type="audio/ogg" />
  <source src="song.mp3" type="audio/mpeg" />
Your browser does not support the audio element.
</audio>

</body>
</html>

 Browser Support and Audio Formats

Currently, there are 3 supported file formats for the <audio> element: MP3, Wav, and Ogg:
Browser MP3 Wav Ogg
Internet Explorer 9 YES NO NO
Firefox 4.0 NO YES YES
Google Chrome 6 YES YES YES
Apple Safari 5 YES YES NO
Opera 10.6 NO YES YES

DOM control HTML5 video

DOM control HTML5 <video>

The HTML5 <video> element also has methods, properties, and events.
There are methods for playing, pausing, and loading.
There are properties (e.g. duration, volume, seeking) that you can read or set.
There are also DOM events that can notify you, for example, when the <video> element begins to play, is paused, is ended, etc.

Syntax:
 
 <video width="320px" height="240px" autobuffer="autobuffer" autoplay="autoplay" loop="loop" controls="controls" poster="/_img/videostill.jpg">
    <source src="video.mp4" type="video/mp4" />
    <source src="video.ogg" type="video/ogg" />
</video>

Example:  The example above calls two methods:
play() and pause().
It also uses three properties: paused, height and videoHeight.

<!DOCTYPE html>
<html>
<body>

<div style="text-align:center">
  <button onclick="playPause()">Play/Pause</button>
  <button onclick="makeBig()">Big</button>
  <button onclick="makeSmall()">Small</button>
  <button onclick="makeNormal()">Normal</button>
  <br />
  <video id="video1">
    <source src="movie1.mp4" type="video/mp4" />
    <source src="movie2.ogg" type="video/ogg" />
    Your browser does not support HTML5 video.
  </video>
</div>

<script type="text/javascript">
var myVideo=document.getElementById("video1");

function playPause()
{
if (myVideo.paused)
  myVideo.play();
else
  myVideo.pause();
}

function makeBig()
{
myVideo.height=(myVideo.videoHeight*2);
}

function makeSmall()
{
myVideo.height=(myVideo.videoHeight/2);
}

function makeNormal()
{
myVideo.height=(myVideo.videoHeight);
}
</script>

<p>Video courtesy of <a href="http://www.bigbuckbunny.org/" target="_blank">Big Buck Bunny</a>.</p>

</body>
</html>



HTML5 <video> - Methods, Properties, and Events

The lists of table below are the video methods, properties, and events which supported by most browsers:
Methods Properties Events
play() currentSrc play
pause() currentTime pause
load() videoWidth progress
canPlayType videoHeight error
  duration timeupdate
  ended ended
  error abort
  paused empty
  muted emptied
  seeking waiting
  volume loadedmetadata
  height  
  width  
Note: video Width and video Height are immediately available in video properties,. The other properties are available after the video's meta data has loaded.

 Attributes

Additional to the standard attributes (like width, height, id…) there are some attributes specific to the video-tag.

To be precise: These attributes are not all specific to the video tag, some are also used for the audio-tag.
Display attributes

  • src (string): The source file
  • poster (URL): An image to display before the video is playing
  • controls (boolean): Are the playback-controls being provided by the browser?
  • videoWidth, videoHeight (integer): The original video size
Playback attributes
  • currentTime (float): The current playback time in seconds
  • startTime* (float): The video start time (if the video does not start at 0.0 – streams for example)
  • duration (float): The duration in seconds
  • paused (boolean): Is the video currently paused?
  • ended (boolean): Has the video ended?
  • autoplay (boolean): Is is set to autoplay?
  • loop (boolean): Is is set to play in a loop?
  • autobuffer (boolean): Should the browser start buffering the video immediately?
  • seeking (boolean): Is the browser currently seeking in the video?
  • defaultPlaybackRate* (float): The playback speed at which the video should be played
  • playbackRate* (float): The current playback speed: 1.0 is normal, 2.0 is two times faster forward, -3.0 is three times faster backwards and so on
  • seekable* (TimeRanges): An object of ranges in which the browser can seek (more about this below)
  • buffered* (TimeRanges): An object of ranges which are already buffered
  • played* (TimeRanges): An object of ranges which the user has already played
Other attributes
  • volume (float): The current volume — from 0.0 to 1.0
  • muted (boolean): Is the video muted? Takes precedence of the volume
  • readyState (int): State of the video (explanation below)
  • networkState (int): State of the network (explanation below)
  • error (MediaError): A media error object if something went wrong

Tuesday, 27 December 2011

HTML5 - Video elements

 video element
  • For showing a video/movie there has not been a standard  on a web page.
  • A plug-in (like flash) shows most videos. But, different browsers  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.
  • The control attribute adds video controls, like play, pause, and volume.

Syntax

<video width="400" height="300" controls="controls">
  <source src="movie.mp4" type="video/mp4" />
  <source src="movie.ogg" type="video/ogg" />
  Your browser does not support the video tag.
</video> 

Example 

 <!DOCTYPE html>
<html>
<body>

<video width="320" height="240" controls="controls">
  <source src="movie.mp4" type="video/mp4" />
  <source src="movie.ogg" type="video/ogg" />
  Your browser does not support the video tag.
</video>

</body>
</html>

Elements of HTML5

HTML5 includes new elements for better structure, drawing, media content, and better form handling.

HTML5 provides for better structure new elements:


Tag Description
<article> - Specifies independent, self-contained content, could be a news-article, blog post, forum post, or other articles which can be distributed independently from the rest of the site.
<aside> - For content aside from the content it is placed in. The aside content should be related to the surrounding content
<bdi> - For text that should not be bound to the text-direction of its parent elements
<command> - A button, or a radiobutton, or a checkbox
<details> - For describing details about a document, or parts of a document
<summary> - A caption, or summary, inside the details element
<figure> - For grouping a section of stand-alone content, could be a video
<figcaption> - The caption of the figure section
<footer> - For a footer of a document or section, could include the name of the author, the date of the document, contact information, or copyright information
<header> - For an introduction of a document or section, could include navigation
<hgroup> - For a section of headings, using <h1> to <h6>, where the largest is the main heading of the section, and the others are sub-headings
<mark> - For text that should be highlighted
<meter> - For a measurement, used only if the maximum and minimum values are known
<nav> - For a section of navigation
<progress> - The state of a work in progress
<ruby> - For ruby annotation (Chinese notes or characters)
<rt> - For explanation of the ruby annotation
<rp> - What to show browsers that do not support the ruby element
<section> - For a section in a document. Such as chapters, headers, footers, or any other sections of the document
<time> - For defining a time or a date, or both
<wbr> - Word break. For defining a line-break opportunity.

 

HTML5 provides a new standard for media content:

Tag Description
<audio> - For multimedia content, sounds, music or other audio streams
<video> - For video content, such as a movie clip or other video streams
<source> - For media resources for media elements, defined inside video or audio elements
<embed> - For embedded content, such as a plug-in
<track> - For text tracks used in mediaplayers

 

The Canvas Element

The canvas element uses JavaScript to make drawings on a web page.
Tag Description
<canvas> - For making graphics with a script

 

HTML5 provides new Input Type Attribute Values

Also, the input element's type attribute has many new values, for better input control before sending it to the server:
Type Description
tel The input value is of type telephone number
search The input field is a search field
url The input value is a URL
email The input value is one or more email addresses
datetime The input value is a date and/or time
date The input value is a date
month The input value is a month
week The input value is a week
time The input value is of type time
datetime-local The input value is a local date/time
number The input value is a number
range The input value is a number in a given range
color The input value is a hexadecimal color, like #FF8800
placeholder Specifies a short hint that describes the expected value of an input field 


HTML5 provides more form elements
Tag Description
<datalist> A list of options for input values
<keygen> Generate keys to authenticate users
<output> For different types of output, such as output written by a script