Compatibilidad del HTML5 entre navegadores

compatibilidad-html5-navegadores-web.png

En el siguiente enlace encontrarás la web original de donde he capturado la imagen con el esquema de compatibilidad de las nuevas funcionalidades del HTML así como diversos enlaces para poder comprobar por ti mismo la compatibilidad del HTML5 con los diferentes navegadores web: http://robertnyman.com/html5/

Internet Explorer 8 incompatible con max-width

Esto es un post rápido o apunte para tenerlo a mano pues tras darme de cabezazos durante un par de horas con una hoja de estilo y la compatibilidad entre diversos navegadores.

En especial esta compatiblidad afecta a Internet Explorer 8, el navegador que tristemente usa la mayor parte del planeta, y que hoy Microsoft pretende jubilar con su nueva versión, si bien es cierto que Internet Explorer 9 tiene buena pinta lamentablemente no es compatible con Windows XP, es decir, sólo funciona bajo Vista y Windows 7.

El Internet Explorer versión 8 o IE8 tiene un bug, y van fosfocientos mil, en fin, aunque quizá no sea tan bug sino una excentricidad o exceso de compatibilidad.

El bug es que Internet Explorer 8 no soporta los estilos max-width, min-width, max-height, min-height propiedades de estilo que como ya sabrás o habrás deducido con tu prodigiosa mente ceceseada sirven para definir el máximo ancho, mínimo ancho y altos de por ejemplo una caja de texto aka DIV.

Esta propiedad funciona perfectamente bajo FireFox, Chrome, Safari etc.

Fíjate en este trozo de código, donde ya te aviso que no funcionará bajo IE8.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
<html>
<head>
<style>
.width {
    width:50%;
    min-width:200px;
    max-width:400px;
    background:#eee;
}

Y ahora en este otro, que es el que funciona bajo IE8, la diferencia, es que defines el tipo de documento html sin especificación alguna con el tag DOCTYPE, es decir, no lo haces estricto tal y como se hace en documentos bajo HTML5, y por tanto, max-width funciona bajo IE8

<!DOCTYPE html>
<head>
<style>
.width {
    width:50%;
    min-width:200px;
    max-width:400px;
    background:#eee;
}