第一站长论坛

搜索
广告广告广告广告
查看: 423|回复: 0

CSS3常用的几种颜色渐变模式总结

[复制链接]
发表于 2016-12-11 03:36:25 | 显示全部楼层 |阅读模式
一、线性渐变:linear-gradient

语法:
        <linear-gradient> = linear-gradient([ [ <angle> | to <side-or-corner] ,]? <color-start>[, <color-end>]+)
        <side-or-corner> = [left | right] || [top | bottom]
        <color-start|end> = <color>[ <length>|<percentage>]?

下述值用来表示渐变的方向,可以使用角度或者关键字来设置:

    <angle>:用角度值指定渐变的方向(或角度)。

        to left:设置渐变为从右到左。相当于: 270deg

        to right:设置渐变从左到右。相当于: 90deg

        to top:设置渐变从下到上。相当于: 0deg

        to bottom:设置渐变从上到下。相当于: 180deg。这是默认值,等同于留空不写。

    <color-start|end> 用于指定渐变的起止颜色:

       <color>:指定颜色。

       <length>:用长度值指定起止色位置。不允许负值

       <percentage>:用百分比指定起止色位置。

示例:
  1. div {  
  2.     width: 200px;  
  3.     height: 100px;  
  4.     margin: 10px 5px;  
  5.     border: 1px solid #ddd000;  
  6. }  
  7. #LinearStartToEnd {  
  8.   float:left;  
  9.   background: linear-gradient(#ff0000, #00ff00);  
  10. }  
  11. #LinearPercentage {  
  12.   float:left;  
  13.   background: linear-gradient(#0000ff, #ff0000 52%, #00ff00);  
  14. }  
  15. #LinearAnglePercentage {  
  16.   float:left;  
  17.   background: linear-gradient(90deg, #ff0000 20%, #00ff00 50%, #000000 80%);  
  18. }  
  19. #LinearAngle {  
  20.   float:left;  
  21.   background: linear-gradient(30deg, #ffff00 30%, #ff0000, #00ff00);  
  22. }  
  23. #LinearTopRight {  
  24.   float:left;  
  25.   background: linear-gradient(to right top, #00ff00, #ff0000 50%, #0000ff);  
  26. }  
复制代码
二、径向渐变:radial-gradient

语法:

     <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>
     <radial-gradient> = radial-gradient([ [ <shape>|| <size> ] [ at <position> ]? , | at <position> , ]?<color-start>[[ , <color-end>]]+)

       <position> 确定圆心的位置。如果提供2个参数,第一个表示横坐标,第二个表示纵坐标;如果只提供一个,第二值默认为50%,即center

         <length>①:用长度值指定径向渐变圆心的横坐标值。可以为负值。

         <percentage>①:用百分比指定径向渐变圆心的横坐标值。可以为负值。

         <length>②:用长度值指定径向渐变圆心的纵坐标值。可以为负值。

         <percentage>②:用百分比指定径向渐变圆心的纵坐标值。可以为负值。

              center①:设置中间为径向渐变圆心的横坐标值。

              center②:设置中间为径向渐变圆心的纵坐标值。

              left:设置左边为径向渐变圆心的横坐标值。

              right:设置右边为径向渐变圆心的横坐标值。

              top:设置顶部为径向渐变圆心的纵坐标值。

              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>:用百分比指定椭圆径向渐变的横向或纵向半径长度。不允许负值。

示例:
  1. #RadialCenterCircle {  
  2.   float:left;  
  3.     background: radial-gradient(circle at center, #ff0000, #ffff00, #00ffff);  
  4. }  
  5. #RadialClosestSide {  
  6.   float:left;  
  7.     background: radial-gradient(circle closest-side, #ff0000, #00ff00, #ffff00);  
  8. }  
  9. #RadialFarthestSide {  
  10.   float:left;  
  11.     background: radial-gradient(farthest-side, #ff0000 20%, #ffff00 60%, #00ff00 80%);  
  12. }  
  13. #RadialRightTop {  
  14.   float:left;  
  15.     background: radial-gradient(at right top, #ff0000, #ffff00, #00ff00);  
  16. }  
  17. #RadialRadiusCenter {  
  18.   float:left;  
  19.     background: radial-gradient(farthest-side at top right, #ff0000, #ffff00, #01fefe);  
  20. }  
  21. #RadialGroup {  
  22.   float:left;  
  23.     background:  
  24.         radial-gradient(farthest-side at top right, #ff0000, #ffff00, #009f00, transparent),  
  25.         radial-gradient(60px at top left, #ff0000, #ffff00, #00ff0e);  
  26. }  
复制代码
三、重复的线性渐变:repeating-linear-gradient

语法和参数类似线性渐变,这里不在赘述。详情请参考CSS手册。

示例:
  1. #RepeatingLinearPercentage{  
  2.   float:left;  
  3.     background: repeating-linear-gradient(#ff0000, #00ff00 10%, #000000 15%);  
  4. }  
  5. #RepeatingLinearRight {  
  6.   float:left;  
  7.     background: repeating-linear-gradient(to right, #ff0000, #00ff00 10%, #000000 15%);  
  8. }  
  9. #RepeatingLinearAngle {  
  10.   float:left;  
  11.     background: repeating-linear-gradient(45deg, #ff0000, #00ff00 10%, #0000ff 15%);  
  12. }  
  13. #RepeatingLinearBottomLeft {  
  14.   float:left;  
  15.     background: repeating-linear-gradient(to bottom left, #00ffff, #ff0000 10%, #00ff00 15%);  
  16. }  
复制代码
四、重复的径向渐变:repeating-radial-gradient

语法和参数类似径向渐变,这里不在赘述。详情请参考CSS手册。

示例:

  1. #RepeatingRadialCircle {  
  2.   float:left;  
  3.     background: repeating-radial-gradient(circle, #ff0000 0, #00ff00 10%, #0000ff 15%);  
  4. }  
  5. #RepeatingRadialTopLeft {  
  6.   float:left;  
  7.     background: repeating-radial-gradient(at top left, #ff0000, #00ff00 10%, #0de0f0 15%, #ffff00 20%, #000000 25%);  
  8. }  
  9. #RepeatingRadialClosestCorner {  
  10.   float:left;  
  11.     background: repeating-radial-gradient(circle closest-corner at 20px 50px, #00ff00, #ff0000 10%, #00ffff 20%, #ffff00 30%, #ff00ff 40%);  
  12. }  
复制代码
完整的例子:
  1. <!DOCTYPE html>  
  2. <html>  
  3. <head>  
  4. <meta charset="utf-8" />  
  5. <title>ImageCSS3</title>  
  6. <style>  
  7. div {  
  8.     width: 200px;  
  9.     height: 100px;  
  10.     margin: 10px 5px;  
  11.     border: 1px solid #ddd000;  
  12. }  
  13. #LinearStartToEnd {  
  14.   float:left;  
  15.   background: linear-gradient(#ff0000, #00ff00);  
  16. }  
  17. #LinearPercentage {  
  18.   float:left;  
  19.   background: linear-gradient(#0000ff, #ff0000 52%, #00ff00);  
  20. }  
  21. #LinearAnglePercentage {  
  22.   float:left;  
  23.   background: linear-gradient(90deg, #ff0000 20%, #00ff00 50%, #000000 80%);  
  24. }  
  25. #LinearAngle {  
  26.   float:left;  
  27.   background: linear-gradient(30deg, #ffff00 30%, #ff0000, #00ff00);  
  28. }  
  29. #LinearTopRight {  
  30.   float:left;  
  31.   background: linear-gradient(to right top, #00ff00, #ff0000 50%, #0000ff);  
  32. }  
  33.   
  34. #RadialCenterCircle {  
  35.   float:left;  
  36.     background: radial-gradient(circle at center, #ff0000, #ffff00, #00ffff);  
  37. }  
  38. #RadialClosestSide {  
  39.   float:left;  
  40.     background: radial-gradient(circle closest-side, #ff0000, #00ff00, #ffff00);  
  41. }  
  42. #RadialFarthestSide {  
  43.   float:left;  
  44.     background: radial-gradient(farthest-side, #ff0000 20%, #ffff00 60%, #00ff00 80%);  
  45. }  
  46. #RadialRightTop {  
  47.   float:left;  
  48.     background: radial-gradient(at right top, #ff0000, #ffff00, #00ff00);  
  49. }  
  50. #RadialRadiusCenter {  
  51.   float:left;  
  52.     background: radial-gradient(farthest-side at top right, #ff0000, #ffff00, #01fefe);  
  53. }  
  54. #RadialGroup {  
  55.   float:left;  
  56.     background:  
  57.                 radial-gradient(farthest-side at top right, #ff0000, #ffff00, #009f00, transparent),  
  58.                 radial-gradient(60px at top left, #ff0000, #ffff00, #00ff0e);  
  59. }  
  60.   
  61. #RepeatingLinearPercentage{  
  62.   float:left;  
  63.     background: repeating-linear-gradient(#ff0000, #00ff00 10%, #000000 15%);  
  64. }  
  65. #RepeatingLinearRight {  
  66.   float:left;  
  67.     background: repeating-linear-gradient(to right, #ff0000, #00ff00 10%, #000000 15%);  
  68. }  
  69. #RepeatingLinearAngle {  
  70.   float:left;  
  71.     background: repeating-linear-gradient(45deg, #ff0000, #00ff00 10%, #0000ff 15%);  
  72. }  
  73. #RepeatingLinearBottomLeft {  
  74.   float:left;  
  75.     background: repeating-linear-gradient(to bottom left, #00ffff, #ff0000 10%, #00ff00 15%);  
  76. }  
  77.   
  78. #RepeatingRadialCircle {  
  79.   float:left;  
  80.     background: repeating-radial-gradient(circle, #ff0000 0, #00ff00 10%, #0000ff 15%);  
  81. }  
  82. #RepeatingRadialTopLeft {  
  83.   float:left;  
  84.     background: repeating-radial-gradient(at top left, #ff0000, #00ff00 10%, #0de0f0 15%, #ffff00 20%, #000000 25%);  
  85. }  
  86. #RepeatingRadialClosestCorner {  
  87.   float:left;  
  88.     background: repeating-radial-gradient(circle closest-corner at 20px 50px, #00ff00, #ff0000 10%, #00ffff 20%, #ffff00 30%, #ff00ff 40%);  
  89. }  
  90.   
  91. </style>  
  92. </head>  
  93. <body>  
  94. <!-- 指定线性渐变起止色 -->  
  95. <div id="LinearStartToEnd"></div>  
  96. <!-- 指定线性渐变起止色位置 -->  
  97. <div id="LinearPercentage"></div>  
  98. <!-- 指定线性渐变颜色渐变方向和起止色位置 -->  
  99. <div id="LinearAnglePercentage"></div>  
  100. <!-- 指定线性渐变颜色渐变方向 -->  
  101. <div id="LinearAngle"></div>  
  102. <!-- 设置渐变从右上到左下 -->  
  103. <div id="LinearTopRight"></div>  
  104.   
  105. <!-- 浮动Div换行,此处指定Div宽高和边界,是为了覆盖前面定义的Div统一CSS样式,  
  106. 可以尝试去掉指定的Div宽高和边界,看看效果 -->  
  107. <div style="width:0; height:0; border:none; clear:both"></div>  
  108. <!-- 以中心点为圆心的圆形径向渐变 -->  
  109. <div id="RadialCenterCircle"></div>  
  110. <!-- 径向渐变半径长度:圆心到离圆心最近边的长度 -->  
  111. <div id="RadialClosestSide"></div>  
  112. <!-- 径向渐变半径长度:圆心到离圆心最远边的长度 -->  
  113. <div id="RadialFarthestSide"></div>  
  114. <!-- 左边为径向渐变圆心的横坐标值,顶边为径向渐变圆心的纵坐标值 -->  
  115. <div id="RadialRightTop"></div>  
  116. <!-- 同时指定径向渐变的圆心和半径 -->  
  117. <div id="RadialRadiusCenter"></div>  
  118. <!-- 径向渐变组合 -->  
  119. <div id="RadialGroup"></div>  
  120.   
  121. <div style="width:0; height:0; border:none; clear:both"></div>  
  122. <!-- 指定颜色起止色位置的重复线性渐变 -->  
  123. <div id="RepeatingLinearPercentage"></div>  
  124. <!-- 从左到右渐变的重复线性渐变 -->  
  125. <div id="RepeatingLinearRight"></div>  
  126. <!-- 渐变角度为45度的重复线性渐变 -->  
  127. <div id="RepeatingLinearAngle"></div>  
  128. <!-- 从左下到右上的重复线性渐变 -->  
  129. <div id="RepeatingLinearBottomLeft"></div>  
  130.   
  131. <div style="width:0; height:0; border:none; clear:both"></div>  
  132. <!-- 圆形重复径向渐变 -->  
  133. <div id="RepeatingRadialCircle"></div>  
  134. <!-- 渐变方向为左上到右下的重复径向渐变 -->  
  135. <div id="RepeatingRadialTopLeft"></div>  
  136. <!-- 重复径向渐变:渐变半径长度为从圆心到离圆心最近的角的距离 -->  
  137. <div id="RepeatingRadialClosestCorner"></div>  
  138.   
  139. </body>  
  140. </html>  
复制代码
总结
以上就是这篇文章文章的全部内容,本文整理了现在常用的几种Css3实现渐变颜色的方法,希望对大家的学习或者工作能有所帮助,如果有疑问大家可以留言交流。

CSS3常用的几种颜色渐变模式总结 仅供参考
更多CSS3常用的几种颜色渐变模式总结精彩技巧教程内容,请持续关注www.0730ce.com本站。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


关闭
快速回复 返回顶部 返回列表