You can teach older browsers to handle HTML5 correctly.
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.
You can even teach IE6 (Windows XP 2001) how to handle unknown HTML 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:
You can also add new elements to an HTML page with a browser trick.
This example adds a new element called
<myHero> to an HTML page, and defines a style for it:
document.createElement("myHero") is needed to create a new element in IE 9, and earlier.
You could use the solution described above for all new HTML5 elements.
However, IE8 (and earlier) does not allow styling of unknown elements!
You will require the HTML5shiv to provide compatibility for IE Browsers older than IE 9.
The HTML5Shiv is placed within the
You should use the HTML5Shiv when you are using the new HTML5 elements such as:
You can download the latest version of HTML5shiv from github or reference the CDN version at https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js
If you do not want to download and store the HTML5Shiv on your site, you could reference the version found on the CDN site.
The HTML5Shiv script must be placed in the
<head> element, after any stylesheets: