IE9 actualmente carece de apoyo gradiente CSS3. Sin embargo, aquí hay una buena solución alternativa que utiliza PHP para devolver un degradado SVG (lineal vertical), lo que nos permite mantener nuestro diseño en nuestras hojas de estilo.
<?php
$from_stop = isset($_GET['from']) ? $_GET['from'] : '000000';
$to_stop = isset($_GET['to']) ? $_GET['to'] : '000000';
header('Content-type: image/svg+xml; charset=utf-8');
echo '<?xml version="1.0"?>
';
?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="100%">
<defs>
<linearGradient id="linear-gradient" x1="0%" y1="0%" x2="0%" y2="100%">
<stop offset="0%" stop-color="#<?php echo $from_stop; ?>" stop-opacity="1"/>
<stop offset="100%" stop-color="#<?php echo $to_stop; ?>" stop-opacity="1"/>
</linearGradient>
</defs>
<rect width="100%" height="100%" fill="url(#linear-gradient)"/>
</svg>
Basta con subir a su servidor y llamar a la URL de esta manera:
gradient.php?from=f00&to=00f
Esto puede ser usado en conjunción con sus gradientes CSS3 como esto:
.my-color {
background-color: #f00;
background-image: url(gradient.php?from=f00&to=00f);
background-image: -webkit-gradient(linear, left top, left bottom, from(#f00), to(#00f));
background-image: -webkit-linear-gradient(top, #f00, #00f);
background-image: -moz-linear-gradient(top, #f00, #00f);
background-image: linear-gradient(top, #f00, #00f);
}
Si necesita para segmentar por debajo de IE9, aún puede usar el antiguo método de 'filtro' patentado:
.ie7 .my-color, .ie8 .my-color {
filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr="#ff0000", endColorStr="#0000ff");
}
Por supuesto, puede modificar el código PHP para agregar más paradas en el degradado, o hacerlo más sofisticado (degradados radiales, transparencia, etc.), pero esto es ideal para esos gradientes lineales simples (verticales).
Aunque he seleccionado una respuesta, esto solo es relevante en este momento. Si esto cambia, ¿alguien puede actualizar el hilo? Muy apreciado. – Sniffer
Totally. Dudo que IE 9 implemente gradientes ahora, ya que está en versión beta. –
IE9 no admite degradados pero IE10 lo hará. – Catch22