-——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
——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 }
CSS
1 <div class="box-wrapper">2<div class="gradient"></div>3 </div>
以上内容,如有错误请指出,不甚感激。