HTML5 Support

Education is not limited to just classrooms. It can be gained anytime, anywhere... - Ravi Ranjan (M.Tech-NIT)

HTML5 Browser Support

HTML5 is supported in all modern browsers.

In addition, all browsers, old and new, automatically handle unrecognized elements as inline elements.

Because of this, you can "teach" older browsers to handle "unknown" HTML elements.

Define Semantic Elements as Block Elements

HTML5 defines eight new semantic elements. All these are block-level elements.

To secure correct behavior in older browsers, you can set the CSS display property for these HTML elements to block:

header, section, footer, aside, nav, main, article, figure {
    display: block; 

Add New Elements to HTML

You can also add new elements to an HTML page with a browser trick.

This example adds a new element called  to an HTML page, and defines a style for it:


<!DOCTYPE html>
  myHero {
      display: block;
      background-color: #dddddd;
      padding: 50px;
      font-size: 30px;

<h1>A Heading</h1>
<myHero>My Hero Element</myHero>

</html> The JavaScript statement document.createElement("myHero") is needed to create a new element in IE 9, and earlier.

Problem With Internet Explorer 8

You could use the solution described above for all new HTML5 elements.

However, IE8 (and earlier) does not allow styling of unknown elements!

Thankfully, Sjoerd Visscher created the HTML5Shiv! The HTML5Shiv is a JavaScript workaround to enable styling of HTML5 elements in versions of Internet Explorer prior to version 9.

Syntax For HTML5Shiv

The HTML5Shiv is placed within the


The HTML5Shiv is a javascript file that is referenced in a