IE9 saat ini tidak memiliki dukungan gradien CSS3. Namun, berikut adalah solusi solusi yang bagus menggunakan PHP untuk mengembalikan gradien SVG (linier vertikal) sebagai gantinya, yang memungkinkan kita untuk mempertahankan desain kita di lembar gaya kita.
<?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>
Cukup unggah ke server Anda dan panggil URL seperti ini:
gradient.php?from=f00&to=00f
Ini dapat digunakan bersama dengan gradien CSS3 Anda seperti ini:
.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);
}
Jika Anda perlu menargetkan di bawah IE9, Anda masih dapat menggunakan metode 'filter' milik lama:
.ie7 .my-color, .ie8 .my-color {
filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr="#ff0000", endColorStr="#0000ff");
}
Tentu saja Anda dapat mengubah kode PHP untuk menambahkan lebih banyak stop pada gradien, atau membuatnya lebih canggih (gradien radial, transparansi, dll.) Tetapi ini bagus untuk gradien linier sederhana (vertikal).