CSS3 multiple backgrounds are not supported by IE 8 and below. Therefore, the value separated by a comma is invalid, therefore it will not work.
And it does not work on IE9, even when it supports multiple backgrounds (buggy, but it is), because IE9 does NOT support CSS3 Gradient , so again it makes the full declaration invalid.
I suggest you use !important in several background ads, but make one background ad last in a line, so IE9 and below can display at least one of BG:
background: url('/images/cartWhite.png') 18px 11px no-repeat, -ms-linear-gradient(top,
As another option, you can use CSS3Pie . Example:
#myElement { behavior: url(http://path/to/pie/PIE.htc); background: url(bg-image.png) no-repeat #CCC; background: url(bg-image.png) no-repeat, -webkit-gradient(linear, 0 0, 0 100%, from(#CCC) to(#EEE)); background: url(bg-image.png) no-repeat, -webkit-linear-gradient(#CCC, #EEE); background: url(bg-image.png) no-repeat, -moz-linear-gradient(#CCC, #EEE); background: url(bg-image.png) no-repeat, -ms-linear-gradient(#CCC, #EEE); background: url(bg-image.png) no-repeat, -o-linear-gradient(#CCC, #EEE); background: url(bg-image.png) no-repeat, linear-gradient(#CCC, #EEE); -pie-background: url(bg-image.png) no-repeat, linear-gradient(#CCC, #EEE); }
Remember that this will only work if the behavior URL is in the same domain. More details .
RaphaelDDL
source share