Soporte HTML5 en Navegadores Web
HTML5 es soportado por la mayoría de los navegadores web modernos, pero en adición, todos los navegadores web tanto modernos como antiguos, automáticamente manejan las etiquetas no reconocidas como etiquetas HTML con nivel de línea. Así, es posible enseñar a los navegadores web antiguos a manejar las etiquetas HTML no reconocidas como HTML5 correctamente.
Definir las etiquetas semánticas
HTML5 agrega 8 nuevas etiquetas semánticas y todas ellas son de nivel de bloque. Para asegurarse del correcto funcionamiento de estas etiquetas en navegadores web antiguos; en el CSS se les especifica la propiedad display: block; a estas etiquetas HTML5:
header, section, footer, aside, nav, main, article, figure {
display: block;
}
Agregar nuevas etiquetas HTML
Es posible agregar nuevas etiquetas a una página HTML, haciendo uso de javascript y CSS.
En el siguiente ejemplo, se agrega una nueva etiqueta llamada <mietiqueta> a la página HTML y se le define un estilo CSS.
<!doctype html>
<html>
<head>
<script>document.createElement("mietiqueta")</script>
<style>
mietiqueta{
display: block;
background-color: #dddddd;
padding: 50px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>Mi Título</h1>
<mietiqueta>Mi nueva etiqueta</mietiqueta>
</body>
</html>
La declaración en JavaScript document.createElement("mietiqueta")
es necesaria para crear una elemento en Internet Explorer 9 y versiones anteriores. Sin embargo, Internet Explorer 8 y versiones anteriores no permiten dar estilos a elementos desconocidos. Afortunadamente, Sjoerd Visscher creó HTML5Shif.
La solución HTML5Shiv
HTML5Shiv es una solución en JavaScript para permitir el diseño de elementos HTML5 para versiones anteriores de Internete Explores 9. Así, HTML5Shiv es un archivo JavaScript que debe ser referenciado con un etiqueta <script> colocada a su vez dentro de la etiqueta <head>.
Podemos descargar la última versión del proyecto HTML5Shiv desde el sitio github o hacer la referencia a la versión CDN en https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js.
Nota: Se debe de usar la solución HTML5Shiv cuando se esta usando los nuevos elementos HTML5 como son: <article>, <section>, <aside>, <nav>, <footer>, etc.
Sintaxis con el archivo del proyecto
Si se descarga el archivo JavaScript del proyecto, el script debe colocarse dentro del elemento <head>. La ruta en el atributo src debe en donde se localiza el archivo en tu sito:
<head>
<!--[if lt IE 9]>
<script src="/js/html/5shiv.js">
<![endif]-->
</head>
Sintaxis a la referencia CDN
Si se hace la referencia al versión CDN, el script HTML5Shiv debe colocarse dentro del elemento <head>, después de cualquier hoja de estilos:
<head>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<![endif]-->
</head>