CSS linear-gradient() 函数

CSS linear-gradient() 函数的作用是:创建一个由两种或多种颜色沿直线渐变而成的图像。它的结果是 <gradient> 数据类型的对象,这是一种特殊的 <image> 。


实例

这个线性渐变从顶部开始。它从红色开始,过渡到黄色,然后过渡到蓝色:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. #grad1 {
  6. height: 200px;
  7. background-image: linear-gradient(red, yellow, blue);
  8. }
  9. </style>
  10. </head>
  11. <body>
  12. <h2>线性渐变 - 从上到下</h2>
  13. <p>此线性渐变从顶部开始。它从红色开始,过渡到黄色,然后过渡到蓝色:</p>
  14. <div id="grad1"></div>
  15. <p><b>注释:</b>Internet Explorer 9 以及更早的版本不支持渐变。</p>
  16. </body>
  17. </html>

定义和用法

linear-gradient() 函数把线性渐变设置为背景图像。

如需创建线性渐变,您必须至少定义两个色标。色标是您希望在其间呈现平滑过渡的颜色。您还可以在渐变效果中设置起点和方向(或角度)。

线性渐变实例:

版本:CSS3

浏览器支持

表格中的数字注明了完全支持该功能的首个浏览器版本。

-webkit-、-moz- 或 -o- 后面的数字表示使用前缀的首个版本。

函数
linear-gradient()26.010.0 -webkit-10.016.03.6 -moz-6.15.1 -webkit-12.111.1 -o-

CSS 语法

  1. background-image: linear-gradient(direction, color-stop1, color-stop2, ...);
描述
direction定义渐变效果的起点和方向(或角度)。
color-stop1, color-stop2,…色标是您要在其间呈现平滑过渡的颜色。该值由一个颜色值组成,其后是一个可选的停止位置(0% 到 100% 之间的百分比值,或沿渐变轴的长度值)。

更多实例

从左侧开始的线性渐变。它从红色开始,过渡到蓝色:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. #grad1 {
  6. height: 200px;
  7. background-image: linear-gradient(to right, red , blue);
  8. }
  9. </style>
  10. </head>
  11. <body>
  12. <h2>线性渐变 - 从左到右</h2>
  13. <p>该线性渐变从左侧开始。它从红色开始,过渡到蓝色:</p>
  14. <div id="grad1"></div>
  15. <p><b>注释:</b>Internet Explorer 9 以及更早的版本不支持渐变。</p>
  16. </body>
  17. </html>

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

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. #grad1 {
  6. height: 200px;
  7. background-image: linear-gradient(to bottom right, red , blue);
  8. }
  9. </style>
  10. </head>
  11. <body>
  12. <h2>线性渐变 - 对角线</h2>
  13. <p>此线性渐变从左上方开始。它从红色开始,过渡到蓝色:</p>
  14. <div id="grad1"></div>
  15. <p><b>注释:</b>Internet Explorer 9 以及更早的版本不支持渐变。</p>
  16. </body>
  17. </html>

有给定角度的线性渐变:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. #grad1 {
  6. height: 100px;
  7. background-image: linear-gradient(0deg, red, blue);
  8. }
  9. #grad2 {
  10. height: 100px;
  11. background-image: linear-gradient(90deg, red, blue);
  12. }
  13. #grad3 {
  14. height: 100px;
  15. background-image: linear-gradient(180deg, red, blue);
  16. }
  17. #grad4 {
  18. height: 100px;
  19. background-image: linear-gradient(-90deg, red, blue);
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <h2>线性渐变 - 使用不同的角度</h2>
  25. <div id="grad1" style="color:white;text-align:center;">0deg</div><br>
  26. <div id="grad2" style="color:white;text-align:center;">90deg</div><br>
  27. <div id="grad3" style="color:white;text-align:center;">180deg</div><br>
  28. <div id="grad4" style="color:white;text-align:center;">-90deg</div>
  29. <p><b>注释:</b>Internet Explorer 9 以及更早的版本不支持渐变。</p>
  30. </body>
  31. </html>

拥有多个色标的线性渐变:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. #grad1 {
  6. height: 55px;
  7. background-image: linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet);
  8. }
  9. </style>
  10. </head>
  11. <body>
  12. <div id="grad1" style="text-align:center;margin:auto;color:#888888;font-size:40px;font-weight:bold">
  13. 渐变背景
  14. </div>
  15. <p><b>注释:</b>Internet Explorer 9 以及更早的版本不支持渐变。</p>
  16. </body>
  17. </html>

带透明度的线性渐变:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. #grad1 {
  6. height: 200px;
  7. background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));
  8. }
  9. </style>
  10. </head>
  11. <body>
  12. <h2>线性渐变 - 透明度</h2>
  13. <p>如需增加透明度,我们使用 rgba() 函数定义色标。 rgba() 函数中的最后一个参数可以是 0 到 1 的值,它定义颜色的透明度:0 表示全透明,1 表示全色(不透明)。</p>
  14. <div id="grad1"></div>
  15. <p><b>注释:</b>Internet Explorer 9 以及更早的版本不支持渐变。</p>
  16. </body>
  17. </html>

相关页面

CSS 教程:CSS 渐变

分类导航