简解Css3 - linear-gradient

# 概念

CSS linear-gradient() 函数创建一个表示颜色线性渐变的 。

简单的说,元素只要用了linear-gradient,它等同于一张图片。即:background:linear-gradient(...params) ~= background:url(...image)

所以它只能用在图片可以用的地方。如:background、background-image。

不要把它当作颜色用在color等样式中。

# 使用方式

简单起见,只讲一种最通用的使用方式。

background: linear-gradient(angle[角度], color-stop[起始颜色],color-stop[终点颜色]);

# 原理

angle描述渐变的方向,单位是deg,它的有效角度值是0-360deg。默认180deg。几个常用渐变角度分别为:从下到上:0deg从上到下:180deg从左到右:90deg从右到左:270deg

如下图所示:

简解Css3 - linear-gradient

angle的值其实就是以向顶部中央方向为起点顺时针旋转的角度。0deg时可以看作是上图垂直指向顶部的黑色虚线。

这里我们要理解下渐变线的概念:

渐变线由包含渐变图形的容器的中心点和一个角度来定义的。渐变线上的颜色值是由不同的点来定义,包括起始点,终点,以及两者之间的可选的中间点(中间点可以有多个)。

图中示例了一个45deg经过矩形中心的渐变线,它的起点就是垂直于渐变线的红点,终点是起点对应的反射点,也就是图上的绿点。

不需多言,尽在图中。

# 示例

1 0deg 蓝色起点 红色终点

background: linear-gradient(180deg, blue, red);
简解Css3 - linear-gradient

2 45deg 蓝色起点 红色终点

background: linear-gradient(45deg, blue, red);
简解Css3 - linear-gradient

# 参考

  • MDN-linear-gradient

相关推荐