CSS设置DIV背景色渐变显示
在学习网页设计的过程中,对于背景的渐变色,好多代码的规则都一样,只是看怎么找到这个规则,现在51RGB小编带领大家看一下,这些是怎么显示的:
<style type="text/css">
.linear{
width:100%;
height:600px;
FILTER: progidXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=#b8c4cb,endColorStr=#f6f6f8);/*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>
一、有点俗态的开场白
要是两年前,实现
“
兼容性的渐变效果
”
这个说法估计不会被提出来的,那个时候,说起渐变背景,想到的多半是
IE
的渐变滤镜,其他
浏览器
尚未支持,但是,在对
CSS3
支持日趋完善的今天,实现兼容性的渐变背景效果已经完全成为可能,本文就将展示如何实现兼容性的渐变背景效果。在众多的浏览器中,目前不支持
Opera
浏览器。
本文实例效果都是同样的效果,就是垂直渐变,起始颜色红色,结束颜色蓝色,结束的蓝色的透明度是
0.5
。
二、
IE
浏览器下的渐变背景
IE
浏览器下渐变背景的使用需要使用
IE
的渐变滤镜。如下代码:
[css]
filter:progidXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=1);
相关说明:
上面的滤镜代码主要有三个参数,依次是:
startcolorstr, endcolorstr,
以及
gradientType
。
其中
gradientType=1
代表横向渐变,
gradientType=0
代表纵向淅变。
startcolorstr=”
色彩
”
代表渐变渐变起始的色彩,
endcolorstr=”
色彩
”
代表渐变结尾的色彩。
上面代码实现的是红色至蓝色的渐变,但是不含透明度变化,这是由于
IE
目前尚未支持
opacity
属性以及
RGBA
颜色,要实现
IE
下的透明度变化,还是需要使用
IE
滤镜,
IE
的透明度滤镜功能比较强大,这种强大反而与
Firefox
或是
Safari
浏览器下的
css-gradient
背景渐变的用法类似。例如下面的使用:
[css]
filter:alpha(opacity=100finishopacity=0 style=1 startx=0,starty=5,finishx=90,finishy=60)
其中各个参数的含义如下:
opacity
表示透明度,默认的范围是从
0
到
100
,他们其实是百分比的形式。也就是说,
0
代表完全透明,
100
代表完全不透明。
finishopacity
是一个可选参数,如果想要设置渐变的透明效果,就可以使用他们来指定结束时的透明度。范围也是
0
到
100
。
style
用来指定透明区域的形状特征:
0
代表统一形状
1
代表线形
2
代表放射状
3
代表矩形。
startx
渐变透明效果开始处的
X
坐标。
starty
渐变透明效果开始处的
Y
坐标。
finishx
渐变透明效果结束处的
X
坐标。
finishy
渐变透明效果结束处的
Y
坐标。
综合上述,实现
IE
下含透明度变化红蓝垂直渐变的代码如下:
[css]
.gradient{
width:300px;
height:150px;
filter:alpha(opacity=100 finishopacity=50 style=1startx=0,starty=0,finishx=0,finishy=150) progidXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=1);
-ms-filter:alpha(opacity=100 finishopacity=50 style=1startx=0,starty=0,finishx=0,finishy=150)progidXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=1);
}
<divclass="gradient"></div>
三、
Firefox
浏览器下的渐变背景
对于
Firefox
浏览器下
(Firefox 3.6+)
渐变背景的实现需使用
CSS3
渐变属性,
-moz-linear-gradient
属性,在之前文章我详细介绍了
Firefox3.6
下渐变背景的实现,您有兴趣可以狠狠地点击这里:
CSS
渐变之
CSS3 gradient
在
Firefox3.6
下的使用
。这里我就不再具体讲述了,对于本文开头提到的要实现的效果的实现可以参见下面的代码:
[css]
.gradient{
width:300px;
height:150px;
background:-moz-linear-gradient(top, red, rgba(0, 0, 255, 0.5));
}
<divclass="gradient"></div>
四、
chrome/Safari
浏览器下的渐变背景实现
对于
webkit
核心的浏览器,如
Chrome/Safari
浏览器下渐变背景的实现也是使用
CSS3
渐变方法,
css-gradient
,具体为
-webkit-gradient
,使用语
Firefox
浏览器是有一些差异的。我在上上一篇文章对此进行了非常详细的介绍,您可以狠狠地点击这里:
CSS gradient
渐变之
webkit
核心浏览器下的使用
。具体使用就不详述了,参见下面的代码:
[css]
.gradient{
width:300px;
height:150px;
background:-webkit-gradient(linear, 0 0, 0 bottom, from(#ff0000),to(rgba(0, 0, 255, 0.5)));
}
<divclass="gradient"></div>
|
CSS设置DIV背景色渐变显示
最新推荐文章于 2024-04-22 13:50:02 发布