-——css3的文章好久没有写过了。今天看到一个比较酷炫的属性——线性渐变(linear-gradient),决定谈谈这个属性。
linear-gradient
——CSS3 grandient分为线性渐变(linear-gradient)和径向渐变(radial-gradient)。今天主要谈谈线性渐变。(PS:在IE下的实现需要通过IE特有的滤镜来实现。)
线性渐变的语法
先来看看Mozilla、Webkit、Opera下的语法
1 -moz-linear-gradient( [<point> || <angle>,]? <stop>, <stop> [, <stop>]* ); 2 3 -webkit-linear-gradient( [<point> || <angle>,]? <stop>, <stop> [, <stop>]* )//最新发布书写语法 4 5 -o-linear-gradient([<point> || <angle>,]? <stop>, <stop> [, <stop>]); /* Opera 11.10+ */
参数说明:
1, 第一个参数表示线性渐变的方向,top是从上到下,left是从左到右,如果定义了left top,那就是从左上角到右下角。
2, 第二个和第三个参数分别是起点颜色和终点颜色。你可以在它们之前插入更多的参数,表示多种颜色的渐变。
线性渐变在Trident(IE)下的应用
1 filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=#1471da, endColorstr=#1C85FB);/*IE<9>*/ 2 3 -ms-filter: "progid:DXImageTransform.Microsoft.gradient (GradientType=0, startColorstr=#1471da, endColorstr=#1C85FB)";/*IE8+*/
IE依靠滤镜实现渐变。startColorstr表示起点的颜色,endColorstr 表示终点颜色。GradientType 表示渐变类型,0 为缺省值,表示垂直渐变,1 表示水平渐变。
角度方向的渐变
——需要特别说明一下的就是角度方向的渐变
当指定渐变方向是角度的时候,它是一个由水平线与渐变线产生的角度,逆时针方向。因此,使用0deg将产生一个左到右横向梯度,而90度将创建一个从底部到顶部的垂直渐变。
详情请参考这篇文章:
CSS3 经典教程系列:CSS3 线性渐变(linear-gradient)
box-shadow
——box-shadow作为CSS3的一个新属性,效果还是不错的。下面来看看它的语法
box-shadow: none|h-shadow v-shadow blur spread color |inset|initial|inherit;
属性说明:
1,h-shadow : horizontal shadow 水平方向的阴影
2,v-shadow : vertical shadow 垂直方向的阴影
3,blur : 阴影模糊的距离
4,spread : 阴影的大小
5,color : 阴影的颜色
6,inset : 改变阴影的方向
如果你的审美还错,并且对这个属性理解不错,那这个属性还是可以发挥他较大的作用的。
例子
下面来看一个例子:
贴上代码
1 *{ 2 margin:0; 3 padding:0; 4 } 5 .box-wrapper{ 6 cursor: pointer; 7 position: relative; 8 width: 300px; 9 height: 200px; 10 margin: 100px auto; 11 border-radius: 5px; 12 background: #fd6a7f; 13 overflow: hidden; 14 -webkit-transition:all .3s ease; 15 transition:all .3s ease; 16 } 17 .gradient{ 18 cursor: pointer; 19 position: absolute; 20 top: 0; 21 left: -100%; 22 width: 100%; 23 height: 100%; 24 transform: skew(-25deg); 25 -o-transform:skew(-25deg); 26 -moz-transform:skew(-25deg); 27 -webkit-transform:skew(-25deg); 28 background-image: -webkit-linear-gradient(0deg,hsla(0,0%,100%,0),hsla(0,0%,100%,0.5),hsla(0,0%,100%,0)); 29 -webkit-transition:all .3s ease; 30 transition:all .3s ease; 31 } 32 .box-wrapper:hover{ 33 transform: translateY(-6px); 34 -webkit-transform: translateY(-6px); 35 -moz-transform:translateY(-6px); 36 box-shadow: 0 26px 40px -24px rgba(0,36,100,.5); 37 -webkit-box-shadow: 0 26px 40px -24px rgba(0,36,100,.5); 38 -moz-box-shadow:0 26px 40px -24px rgba(0,36,100,.5); 39 } 40 .box-wrapper:hover .gradient{ 41 left: 100%; 42 }
1 <div class="box-wrapper"> 2 <div class="gradient"></div> 3 </div>
以上内容,如有错误请指出,不甚感激。