您的位置首页百科问答

css3渐变之线性渐变linear-gradient

css3渐变之线性渐变linear-gradient

的有关信息介绍如下:

css3渐变之线性渐变linear-gradient

css3新增渐变(gradients)属性,可以让两个或多个指定的颜色之间显示平稳的过渡。通过使用 CSS3 渐变(gradients)替代使用图像来实现这些效果,减少下载的事件和宽带的使用,大大提高工作效率。

CSS3 定义了两种类型的渐变(gradients):

1、线性渐变(Linear Gradients):向下/向上/向左/向右/对角方向;

2、径向渐变(Radial Gradients): 由它们的中心定义;

注意:渐变(gradients)的兼容性

ie10支持gradients属性;

chrome 、Safari、Firefox、Opera 支持替代的-webkit-渐变类型、-moz-渐变类型、-o-渐变类型属性;

线性渐变基本语法:

background: linear-gradient(direction,color-stop1,color-stop2, ...);

为了创建一个线性渐变,必须至少定义两种颜色结点。同时,也可以设置一个起点和一个方向(或一个角度)。

颜色结点:要呈现平稳过渡的颜色。

例子:

从上到下的线性渐变,起点是橘红色(orangered),慢慢过渡到橘色(orange);

css部分(注意兼容性):

.div1{

margin:30px auto;

width:300px;

height:100px;

color: #fff;

text-align: center;

line-height: 100px;

background:-webkit-linear-gradient(orangered,orange);

background:-o-linear-gradient(orangered,orange);

background:-moz-linear-gradient(orangered,orange);

background:linear-gradient(orangered,orange);

}

html部分:

从上到下的线性渐变

效果如图:

从左到右的线性渐变

例子:

起点是橘红色(orangered),慢慢过渡到橘色(orange)

css部分:

.div2{

margin:30px auto;

width:300px;

height:100px;

color: #fff;

text-align: center;

line-height: 100px;

background:-webkit-linear-gradient(left,orangered,orange);/* Safari 5.1 - 6.0 */

background:-o-linear-gradient(right,orangered,orange);/* Opera 11.1 - 12.0 */

background:-moz-linear-gradient(right,orangered,orange);/* Firefox 3.6 - 15 */

background:linear-gradient(to right,orangered,orange);/* 标准*/

}

html部分:

从左到右的线性渐变

效果如图:

从左上角开始到右下角的线性渐变

例子:

起点是红色(orangered),慢慢过渡到深绿色(orange)

css部分:

.div2{

margin:30px auto;

width:300px;

height:100px;

color: #fff;

text-align: center;

line-height: 100px;

background:-webkit-linear-gradient(left top,red,darkslategray);

background:-o-linear-gradient(bottom right,red,darkslategray);

background:-moz-linear-gradient(bottom right,red,darkslategray);

background:linear-gradient(to bottom right,red,darkslategray);

}

html部分:

从左上角开始到右下角的线性渐变

效果如图:

带有指定的角度的线性渐变

如果要在渐变的方向上做更多的控制,可以通过定义一个角度来实现;

基本语法:

background: linear-gradient(angle,color1,color2);

angle:即角度是指水平线和渐变线之间的角度,逆时针方向计算

那么,如何在线性渐变上使用角度?

例子:

css部分:

.div4{

margin:30px auto;

width:300px;

height:100px;

color: #fff;

text-align: center;

line-height: 100px;

background:-webkit-linear-gradient(180deg,red,darkslategray);

background:-o-linear-gradient(180deg,red,darkslategray);

background:-moz-linear-gradient(180deg,red,darkslategray);

background:linear-gradient(180deg,red,darkslategray);

}

html部分:

带有指定的角度的线性渐变

效果如图: