渐变背景(background)效果

简介: <p style="margin-top:0px; margin-bottom:1em; padding-top:0px; padding-bottom:0px; color:rgb(68,68,68); font-family:'Microsoft Yahei',Tahoma,Helvetica,Arial,SimSun,sans-serif; font-size:16px; line-

chrom and Safari浏览器:

webkit核心的浏览器,使用CSS3渐变方法(css-gradient)

-webkit-gradient (type , start_point , end_point , / stop... )
-webkit-gradient (type , inner_center , inner_radius , outer_center , outer_radius , / stop... )
background : -webkit-gradient (linear , 0  0 , 0  100% ,from ( #2777EC ) ,to ( #6AC1FC ) ) ;

-webkit-gradient是webkit引擎对渐变的实现参数,一共有五个:
第一个参数表示渐变类型(type),可以是linear(线性渐变)或者radial(径向渐变);
第二个参数和第三个参数,都是一对值,分别表示渐变起点和终点。这对值可以用坐标形式表示,也可以用关键值表示,比如 left top(左上角)和left bottom(左下角);
第四个和第五个参数,分别是两个color-stop函数,color-stop函数接受两个参数,第一个表示渐变的位置,0为起点,0.5为中点,1为结束点;第二个表示该点的颜色;

Firefox浏览器:

Firefox3.6+以后版本改进了很多CSS,Firefox支持两种类型的CSS渐变:线性的(-moz-linear-gradient)和放射状的(-moz-radial-gradient)

线性渐变(Linear Gradients)

要创建一个线性渐变,您需要设置一个起点和一个渐变的方向(或角度),并定义起止颜色

-moz-linear-gradient (  [ ||  , ],  [ ,  ] *  )

径向渐变(Radial Gradients)

为径向渐变的语法非常类似于线性渐变

-moz-radial-gradient ( [ ||  , ][ ||  , ],  [ ,  ] * )
background : -moz-linear-gradient ( #2777EC ,  #6AC1FC ) ;

-moz-linear-gradient有三个参数:
第一个参数表示线性渐变的方向,top是从上到下、left是从左到右,如果定义成left top,那就是从左上角到右下角。
第二个和第三个参数分别是起点颜色和终点颜色。你还可以在它们之间插入更多的参数,表示多种颜色的渐变。

万恶的IE浏览器:

IE浏览器下渐变背景的使用需要使用IE的渐变滤镜

filter : progid :DXImageTransform .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背景渐变的用法类似。例如下面的使用:

filter :alpha (opacity = 100 finishopacity = 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坐标。

Opera浏览器:

Opera新版和Firfox原理用法一样:

background : -o-linear-gradient ( #2777EC ,  #6AC1FC ) ;

整理兼容性的渐变背景效果:

2013-08-28_183428

.button {
background-color :  #2777EC ;
border :  1px  solid  #0099FF ;
text-transform :  uppercase ;
font-size :  14px ;
line-height :  22px ;
padding :  15px  50px ;
cursor :  pointer ;
color :  #FFF ;
text-transform :  none ;
border-radius :  4px ;
-webkit-border-radius : 4px ;
-moz-border-radius :  4px ;
box-shadow :  1px  3px  5px  #555 ;
-moz-box-shadow :  1px  3px  5px  #555 ;
-webkit-box-shadow :  1px  3px  5px  #555 ;
background : -webkit-gradient (linear , 0  0 , 0  100% ,from ( #2777EC ) ,to ( #6AC1FC ) ) ;
background : -moz-linear-gradient ( #2777EC ,  #6AC1FC ) ;
background : -o-linear-gradient ( #2777EC ,  #6AC1FC ) ;
background : linear-gradient ( top  center ,  #2777EC ,  #6AC1FC ) ;
filter :alpha (opacity = 100 finishopacity = 50 style = 1 startx = 0 ,starty = 0 ,finishx = 0 ,finishy = 130 ) progid :DXImageTransform .Microsoft.gradient (startcolorstr = '#2777EC' ,endcolorstr = '#6AC1FC' ,gradientType = 0 ) ;
-ms-filter :alpha (opacity = 100 finishopacity = 50 style = 1 startx = 0 ,starty = 0 ,finishx = 0 ,finishy = 130 ) progid :DXImageTransform .Microsoft.gradient (startcolorstr = '#2777EC' ,endcolorstr = '#6AC1FC' ,gradientType = 0 ) ;
}
.button :active , .button :focus {
color :  #000 ;
background : -webkit-gradient (linear ,  0  0 ,  100%  0 ,from ( #6AC1FC ) , to ( #2777EC ) ) ;
background : -moz-linear-gradient ( #6AC1FC ,  #2777EC ) ;
background : -o-linear-gradient ( #6AC1FC ,  #2777EC ) ;
background : linear-gradient ( left  center ,  #6AC1FC ,  #2777EC ) ;
}
<input class="button" type="button" value="点击按钮" />
<a class="button" href="/">链接按钮 </a>
<span class="button">点击按钮 </span>
相关文章
|
2月前
|
前端开发
背景的background属性
【10月更文挑战第7天】背景的background属性
16 2
|
7月前
|
前端开发
背景色[background-color]
背景色[background-color]。
39 6
|
7月前
一行代码获取rgba颜色色值的透明度
一行代码获取rgba颜色色值的透明度
|
前端开发
css:border-radius绘制边框圆角-全圆和椭圆
css:border-radius绘制边框圆角-全圆和椭圆
144 0
css:border-radius绘制边框圆角-全圆和椭圆
|
API 容器
你真的了解background背景样式吗
你真的了解background背景样式吗
html+css实战76-背景-background
html+css实战76-背景-background
114 0
html+css实战76-背景-background
|
Web App开发 前端开发 iOS开发