CSS3.0新特性一之CSS gradient

关于CSS gradient/CSS渐变

简单的一句css代码实现背景渐变,有了它神马背景图片都是浮云咯。当然前提是你的浏览器支持CSS3。

如果你还是在用IE系列的浏览器,别急以下代码可以做到兼容所有浏览器,真正做到不用图片实现背景渐变!

一 、基本语法

/*webkit内核浏览器 Saf4+, Chrome */
-webkit-gradient(,  [, ]?,  [, ]? [, ]*)
/* Chrome 10+, Saf5.1+ */
-webkit-linear-gradient( [ || ,]? ,  [, ]* )
-webkit-radial-gradient( [ || ,]? [ || ,]? , [, ]* )
/*Gecko内核浏览器: */
-moz-linear-gradient( [ || ,]? ,  [, ]* )
-moz-radial-gradient( [ || ,]? [ || ,]? , [, ]* )

二、线性渐变(Linear Gradients)

起始点(Point):起点的工作方式类似于background position。您可以设置水平和垂直位置为百分比,或以像素为单位,或在水平方向上可以使用left/center/right,在垂直方向上可以使用top/center/bottom。位置起始于左上角。如果你不指定水平或垂直位置,它将默认为center。 角度(Angle):正如您在上面看到的,如果您不指定一个角度,它会根据起始位置自动定义。如果你想更多的控制渐变的方向,您不妨设置角度试试。 起止颜色(Color Stops):除了起始位置和角度,你应该指定起止颜色。起止颜色是沿着渐变线,将会在指定位置(以百分比或长度设定)含有指定颜色的点。色彩的起止数是无限的。如果您使用一个百分比位置,0%代表起点和100%是终点,但区域外的值可以被用来达到预期的效果。 透明度(Transparency):还支持透明渐变。这是相当有用的,例如,当堆叠多个背景时。这里是两个背景的结合:一张图片,一个白色到透明的线性渐变。

三、径向渐变(Radial Gradients)

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

除了您已经在线性渐变中看到的起始位置,方向,和颜色,径向梯度允许你指定渐变的形状(圆形或椭圆形)和大小(最近端,最近角,最远端,最远角,包含或覆盖 (closest-side, closest-corner, farthest-side, farthest-corner, contain or cover))。 颜色起止(Color stops):就像用线性渐变,你应该沿着渐变线定义渐变的起止颜色。下面的圆具有相同的起止颜色,但在左边的为默认的颜色间隔均匀的渐变,而右边的每种颜色都有特定的位置。 形状(Shape):在这里你可以看到两个可能的形状间的差异,一个圆(左侧)和椭圆(右侧),两者都起始于bottom left: 大小(Size):size的不同选项(closest-side, closest-corner, farthest-side, farthest-corner, contain or cover)指向被用来定义圆或椭圆大小的点。

看图说话

moz-gradient

webkit-gradient

四、跨浏览器兼容示例:
.gradient{
background-color: #444444;
background-image: -webkit-gradient(linear, left top, left bottom, from(#444444), to(#999999)); /* Saf4+, Chrome */
background-image: -webkit-linear-gradient(top, #444444, #999999); /* Chrome 10+, Saf5.1+ */
background-image: -moz-linear-gradient(top, #444444, #999999); /* FF3.6 */
background-image: -ms-linear-gradient(top, #444444, #999999); /* IE10 */
background-image: -o-linear-gradient(top, #444444, #999999); /* Opera 11.10+ */
background-image: linear-gradient(top, #444444, #999999);
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#444444', EndColorStr='#999999'); /* IE6–IE9 */
}
五、CSS3.0 gradient 示例:

chrome/Safari 下观看:

Radial Gradient Example

 

#Example1{
background: -webkit-gradient(radial, 45 45, 10, 52 50, 30, from(#A7D30C), to(rgba(1,159,98,0)), color-stop(90%, #019F62)),-webkit-gradient(radial, 105 105, 20, 112 120, 50, from(#ff5f98), to(rgba(255,1,136,0)), color-stop(75%, #ff0188)),-webkit-gradient(radial, 95 15, 15, 102 20, 40, from(#00c9ff), to(rgba(0,201,255,0)), color-stop(80%, #00b5e2)),-webkit-gradient(radial, 0 150, 50, 0 140, 90, from(#f4f201), to(rgba(228, 199,0,0)), color-stop(80%, #e4c700)); 
}
Linear Gradient Example
#Example2{
background:-webkit-gradient(linear, left top, left bottom, from(#00abeb), to(#fff), color-stop(0.5, #fff), color-stop(0.5, #66cc00));
-webkit-background-origin: padding-box;
-webkit-background-clip: content-box;
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注