渐变色

1 线性渐变

语法

<linear-gradient> = linear-gradient([ [ <angle> | to <side-or-corner> ] ,]? <color-stop>[, <color-stop>]+)

<side-or-corner> = [left | right] || [top | bottom]

<color-stop> = <color> [ <length> | <percentage> ]?

取值

<angle>:用角度值指定渐变的方向(或角度)。
    to left: 设置渐变为从右到左。相当于: 270deg
    to right:设置渐变从左到右。相当于: 90deg
    to top:  设置渐变从下到上。相当于: 0deg
    to bottom: 设置渐变从上到下。相当于: 180deg。这是默认值,等同于留空不写。

<color-stop> 用于指定渐变的起止颜色:
    <color>:  指定颜色。
    <length>: 用长度值指定起止色位置。不允许负值
    <percentage>: 用百分比指定起止色位置。

示例

linear-gradient(#fff, #333);
linear-gradient(to bottom, #fff, #333);
linear-gradient(to top, #333, #fff);
linear-gradient(180deg, #fff, #333);
linear-gradient(to bottom, #fff 0%, #333 100%);

2 径向渐变

语法

<radial-gradient> = radial-gradient([ [ <shape> || <size> ] [ at <position> ]? , | at <position>, ]?<color-stop>[ , <color-stop> ]+)

<position> = [ <length>① | <percentage>① | left | center① | right ]? [ <length>② | <percentage>② | top | center② | bottom ]?

<shape> = circle | ellipse

<size> = <extent-keyword> | [ <circle-size> || <ellipse-size> ]

<extent-keyword> = closest-side | closest-corner | farthest-side | farthest-corner

<circle-size> = <length>

<ellipse-size> = [ <length> | <percentage> ]{2}

<shape-size> = <length> | <percentage>

<color-stop> = <color> [ <length> | <percentage> ]?

取值

<position> 确定圆心的位置。如果提供2个参数,第一个表示横坐标,第二个表示纵坐标;如果只提供一个,第二值默认为50%,即center
    <percentage>①:用百分比指定径向渐变圆心的横坐标值。可以为负值。
    <length>①:用长度值指定径向渐变圆心的横坐标值。可以为负值。
    left:设置左边为径向渐变圆心的横坐标值。
    center①:设置中间为径向渐变圆心的横坐标值。
    right:设置右边为径向渐变圆心的横坐标值。
    <percentage>②:用百分比指定径向渐变圆心的纵坐标值。可以为负值。
    <length>②:用长度值指定径向渐变圆心的纵坐标值。可以为负值。
    top:设置顶部为径向渐变圆心的纵坐标值。
    center②:设置中间为径向渐变圆心的纵坐标值。
    bottom:设置底部为径向渐变圆心的纵坐标值。

<shape> 确定圆的类型
    circle:指定圆形的径向渐变
    ellipse:指定椭圆形的径向渐变。

<extent-keyword> circle | ellipse 都接受该值作为 size
    closest-side:指定径向渐变的半径长度为从圆心到离圆心最近的边
    closest-corner:指定径向渐变的半径长度为从圆心到离圆心最近的角
    farthest-side:指定径向渐变的半径长度为从圆心到离圆心最远的边
    farthest-corner:指定径向渐变的半径长度为从圆心到离圆心最远的角 (默认值)

<circle-size> circle 接受该值作为 size
    <length>:用长度值指定正圆径向渐变的半径长度。不允许负值。

<ellipse-size> ellipse 接受该值作为 size
    <length>:用长度值指定椭圆径向渐变的横向或纵向半径长度。不允许负值。
    <percentage>:用百分比指定椭圆径向渐变的横向或纵向半径长度。不允许负值。

<color-stop> 用于指定渐变的起止颜色:
    <color>:指定颜色。
    <length>:用长度值指定起止色位置。不允许负值
    <percentage>:用百分比指定起止色位置。不允许负值

示例

radial-gradient(circle, #f00, #ff0, #080);
radial-gradient(circle at center, #f00, #ff0, #080);
radial-gradient(circle at 50%, #f00, #ff0, #080);
radial-gradient(circle farthest-corner, #f00, #ff0, #080);

3 重复渐变

  • repeating-linear-gradient() 重复先行渐变 参数同linear-gradient()
  • repeating-radial-gradient 重复径向渐变 参数同radial-gradient()

4 低版本IE实现渐变 (了解)

低版本IE可以用IE滤镜实现:

filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorStr=orange,endColorStr=green)

注意:

滤镜是IE特有的语法,其他浏览器并不支持,且新版本IE以及Edge早已不再支持滤镜语法。

results matching ""

    No results matching ""