Parece que lo ideal es utilizar
Modernizr que es una libreria de JS que permite adaptar automáticamente el código (HTML y CSS) a distintos exploradores que no sean compatibles con HTML5.
De todas maneras yo, por el momento, lo que hago es detectar el explorador y luego aplicar la página de estilos CSS que corresponda (lo que implica una página diferente para cada navegador, parece mucho trabajo pero las correcciones son mínimas) aquí te dejo un ejemplo
Código PHP:
<?php
$navegador = $_SERVER['HTTP_USER_AGENT'];
switch($navegador) {
case "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)":
//MS Internet Explorer7.0
echo '<link type="text/css" rel="stylesheet" href="../Estilos/hoja_estilosIE7.css">';
break;
case "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)":
//MS Internet Explorer9.0
echo '<link type="text/css" rel="stylesheet" href="../Estilos/hoja_estilos.css">';
break;
case "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7":
//Google Chrome
echo '<link type="text/css" rel="stylesheet" href="../Estilos/hoja_estilosChR.css">';
break;
case "Opera/9.80 (Windows NT 6.1; U; es-LA) Presto/2.6.30 Version/11.01":
//Opera
echo '<link type="text/css" rel="stylesheet" href="../Estilos/hoja_estilosOP.css">';
break;
default:
echo '<link type="text/css" rel="stylesheet" href="../Estilos/hoja_estilos.css">';
break;
}
?>
Pruébalo y me dirás si te va bien,
Un saludo