CSS linear-gradient() 函数
CSS linear-gradient()
函数的作用是:创建一个由两种或多种颜色沿直线渐变而成的图像。它的结果是 <gradient> 数据类型的对象,这是一种特殊的 <image> 。
实例
这个线性渐变从顶部开始。它从红色开始,过渡到黄色,然后过渡到蓝色:
<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {
height: 200px;
background-image: linear-gradient(red, yellow, blue);
}
</style>
</head>
<body>
<h2>线性渐变 - 从上到下</h2>
<p>此线性渐变从顶部开始。它从红色开始,过渡到黄色,然后过渡到蓝色:</p>
<div id="grad1"></div>
<p><b>注释:</b>Internet Explorer 9 以及更早的版本不支持渐变。</p>
</body>
</html>
定义和用法
linear-gradient()
函数把线性渐变设置为背景图像。
如需创建线性渐变,您必须至少定义两个色标。色标是您希望在其间呈现平滑过渡的颜色。您还可以在渐变效果中设置起点和方向(或角度)。
线性渐变实例:
版本: | CSS3 |
---|
浏览器支持
表格中的数字注明了完全支持该功能的首个浏览器版本。
-webkit-、-moz- 或 -o- 后面的数字表示使用前缀的首个版本。
函数 | |||||
---|---|---|---|---|---|
linear-gradient() | 26.010.0 -webkit- | 10.0 | 16.03.6 -moz- | 6.15.1 -webkit- | 12.111.1 -o- |
CSS 语法
background-image: linear-gradient(direction, color-stop1, color-stop2, ...);
值 | 描述 |
---|---|
direction | 定义渐变效果的起点和方向(或角度)。 |
color-stop1, color-stop2,… | 色标是您要在其间呈现平滑过渡的颜色。该值由一个颜色值组成,其后是一个可选的停止位置(0% 到 100% 之间的百分比值,或沿渐变轴的长度值)。 |
更多实例
从左侧开始的线性渐变。它从红色开始,过渡到蓝色:
<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {
height: 200px;
background-image: linear-gradient(to right, red , blue);
}
</style>
</head>
<body>
<h2>线性渐变 - 从左到右</h2>
<p>该线性渐变从左侧开始。它从红色开始,过渡到蓝色:</p>
<div id="grad1"></div>
<p><b>注释:</b>Internet Explorer 9 以及更早的版本不支持渐变。</p>
</body>
</html>
从左上角开始(到右下角)的线性渐变:
<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {
height: 200px;
background-image: linear-gradient(to bottom right, red , blue);
}
</style>
</head>
<body>
<h2>线性渐变 - 对角线</h2>
<p>此线性渐变从左上方开始。它从红色开始,过渡到蓝色:</p>
<div id="grad1"></div>
<p><b>注释:</b>Internet Explorer 9 以及更早的版本不支持渐变。</p>
</body>
</html>
有给定角度的线性渐变:
<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {
height: 100px;
background-image: linear-gradient(0deg, red, blue);
}
#grad2 {
height: 100px;
background-image: linear-gradient(90deg, red, blue);
}
#grad3 {
height: 100px;
background-image: linear-gradient(180deg, red, blue);
}
#grad4 {
height: 100px;
background-image: linear-gradient(-90deg, red, blue);
}
</style>
</head>
<body>
<h2>线性渐变 - 使用不同的角度</h2>
<div id="grad1" style="color:white;text-align:center;">0deg</div><br>
<div id="grad2" style="color:white;text-align:center;">90deg</div><br>
<div id="grad3" style="color:white;text-align:center;">180deg</div><br>
<div id="grad4" style="color:white;text-align:center;">-90deg</div>
<p><b>注释:</b>Internet Explorer 9 以及更早的版本不支持渐变。</p>
</body>
</html>
拥有多个色标的线性渐变:
<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {
height: 55px;
background-image: linear-gradient(to right, red, orange, yellow, green, blue, indigo, violet);
}
</style>
</head>
<body>
<div id="grad1" style="text-align:center;margin:auto;color:#888888;font-size:40px;font-weight:bold">
渐变背景
</div>
<p><b>注释:</b>Internet Explorer 9 以及更早的版本不支持渐变。</p>
</body>
</html>
带透明度的线性渐变:
<!DOCTYPE html>
<html>
<head>
<style>
#grad1 {
height: 200px;
background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));
}
</style>
</head>
<body>
<h2>线性渐变 - 透明度</h2>
<p>如需增加透明度,我们使用 rgba() 函数定义色标。 rgba() 函数中的最后一个参数可以是 0 到 1 的值,它定义颜色的透明度:0 表示全透明,1 表示全色(不透明)。</p>
<div id="grad1"></div>
<p><b>注释:</b>Internet Explorer 9 以及更早的版本不支持渐变。</p>
</body>
</html>
相关页面
CSS 教程:CSS 渐变