CSS3样式中如何让背景渐变与背景图片共存?

html-css022

CSS3样式中如何让背景渐变与背景图片共存?,第1张

目前,对CSS3支持日趋完善,实现兼容性的渐变背景效果是完全可以的,让背景渐变与背景图片共存的方法很简单,主要要注意的是图片要 保持“最小单元”的准则,选择正确的浏览器,该问题就能得到解决,下面介绍一下具体的解决方法。

1、图片渐变切图时一定要以最小为准则,例如在做垂直方向的纯颜色的渐变时,尝试使用1个像素的竖直图片作为渐变背景“最小单元”。另外,要注意css3虽然支持很多的浏览器的兼容,但是目前不支持Opera浏览器。

2、如果兼容程度允许的话,纯色渐变背景可以使用css3的渐变样式,如{background: linear-gradient(left top, red , blue)},如此一来能够减少切图量,还可以加快网页加载速度,缺点是使用主流浏览器的话,就必须要添加前缀。

3、注意对于webkit核心的浏览器,如Chrome/Safari浏览器,在这些浏览器下要做到渐变背景,也需要使用CSS3 渐变方法,css-gradient,具体就是-webkit-gradient,使用语Firefox浏览器业是有一点差异的。

兼容IE6,IE7,IE8的元素背景渐变

<!DOCTYPE html>  

<html>  

<head>  

<meta charset=utf-8 />  

<title>CSS 实现元素背景渐变</title>  

</head>  

<body>  

<style type="text/css">   

.demo {   

width:100%   

height:200px   

background: -webkit-gradient(linear, 0 0, 0 100%, from(#80c1e7), to(#213c7c))   

background: -webkit-linear-gradient(left, #80c1e7, #213c7c)   

background: -moz-linear-gradient(left, #80c1e7, #213c7c)   

background: -o-linear-gradient(left, #80c1e7, #213c7c)   

background: -ms-linear-gradient(left, #80c1e7, #213c7c)   

background: linear-gradient(left, #80c1e7, #213c7c)   

filter: progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr = #80c1e7, endColorstr = #213c7c)   

}   

</style>  

<div class="demo"></div>  

</body>  

</html>

html5shiv:解决ie9以下浏览器对html5新增标签的不识别,并导致CSS不起作用的问题。

respond.min:让不支持css3 Media Query的浏览器包括IE6-IE8等其他浏览器支持查询。

官方网站: http://css3pie.com/

演示地址: http://css3pie.com/demos/gradient-patterns/

1.兼容border-radius

2.阴影效果

3.部分 CSS3 的效果,如 多张背景图,border-image,背景颜色渐变效果

4.png 图片透明效果