目前,对CSS3支持日趋完善,实现兼容性的渐变背景效果是完全可以的,让背景渐变与背景图片共存的方法很简单,主要要注意的是图片要 保持“最小单元”的准则,选择正确的浏览器,该问题就能得到解决,下面介绍一下具体的解决方法。
1、图片渐变切图时一定要以最小为准则,例如在做垂直方向的纯颜色的渐变时,尝试使用1个像素的竖直图片作为渐变背景“最小单元”。另外,要注意css3虽然支持很多的浏览器的兼容,但是目前不支持Opera浏览器。
2、如果兼容程度允许的话,纯色渐变背景可以使用css3的渐变样式,如{background: linear-gradient(left top, red , blue)},如此一来能够减少切图量,还可以加快网页加载速度,缺点是使用主流浏览器的话,就必须要添加前缀。
3、注意对于webkit核心的浏览器,如Chrome/Safari浏览器,在这些浏览器下要做到渐变背景,也需要使用CSS3 渐变方法,css-gradient,具体就是-webkit-gradient,使用语Firefox浏览器业是有一点差异的。
<style type="text/css">.linear{
width:100%
height:600px
FILTER: progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#b8c4cb,endColorStr=red)/*IE 6 7 8*/
background: -ms-linear-gradient(top, #fff, #0000ff) /* IE 10 */
background:-moz-linear-gradient(top,#b8c4cb,#f6f6f8)/*火狐*/
background:-webkit-gradient(linear, 0% 0%, 0% 100%,from(#b8c4cb), to(#f6f6f8))/*谷歌*/
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff), to(#0000ff)) /* Safari 4-5, Chrome 1-9*/
background: -webkit-linear-gradient(top, #fff, #0000ff) /*Safari5.1 Chrome 10+*/
background: -o-linear-gradient(top, #fff, #0000ff) /*Opera 11.10+*/
}
</style>
<body>
<div class="linear"></div>
</body>
google模式下:
ie模式下:
火狐模式下:
FILTER(ie模式);background:-moz-linear-gradient(火狐模式);background:-webkit-gradient(谷歌模式)。
以上是为了区别不同浏览器的不同效果,我把色码区别开了。为了兼容所有浏览器的相同效果的css3渐变色,你可以把色码调试成一样。