通过角度来控制渐变效果

如果你想要在渐变的方向上做更多的控制,你可以定义一个角度,而不用预定义方向(to bottom、to top、to right、to left、to bottom right,等等)

角度是指水平线和渐变线之间的角度,逆时针方向计算。换句话说,0deg 将创建一个从下到上的渐变,90deg 将创建一个从左到右的渐变

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>Hello React!</title>
    <style>
        #grad1 {
            height: 100px;
            background-color: red; /* 浏览器不支持的时候显示 */
            background-image: linear-gradient(0deg, red, yellow);
        }

        #grad2 {
            height: 100px;
            background-color: red; /* 浏览器不支持的时候显示 */
            background-image: linear-gradient(90deg, red, yellow);
        }

        #grad3 {
            height: 100px;
            background-color: red; /* 浏览器不支持的时候显示 */
            background-image: linear-gradient(180deg, red, yellow);
        }

        #grad4 {
            height: 100px;
            background-color: red; /* 浏览器不支持的时候显示 */
            background-image: linear-gradient(-90deg, red, yellow);
        }
    </style>
</head>
<body>

    <div id="grad1" style="text-align:center;">0deg</div><br>
    <div id="grad2" style="text-align:center;">90deg</div><br>
    <div id="grad3" style="text-align:center;">180deg</div><br>
    <div id="grad4" style="text-align:center;">-90deg</div>

</body>
</html>Code language: HTML, XML (xml)

多个颜色点渐变

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>Hello React!</title>
    <style>
        #grad1 {
            height: 200px;
            background-color: red; /* 浏览器不支持的时候显示 */
            background-image: linear-gradient(red, green, blue); /* 标准的语法(必须放在最后) */
        }

        #grad2 {
            height: 200px;
            background-color: red; /* 浏览器不支持的时候显示 */
            background-image: linear-gradient(red, orange, yellow, green, blue, indigo, violet); /* 标准的语法(必须放在最后) */
        }

        #grad3 {
            height: 200px;
            background-color: red; /* 浏览器不支持的时候显示 */
            background-image: linear-gradient(red 10%, green 85%, blue 90%); /* 标准的语法(必须放在最后) */
        }
    </style>
</head>
<body>

    <h3>3 个颜色结点(均匀分布)</h3>
    <div id="grad1"></div>

    <h3>7 个颜色结点(均匀分布)</h3>
    <div id="grad2"></div>

    <h3>3 个颜色结点(不均匀分布)</h3>
    <div id="grad3"></div>

</body>
</html>Code language: HTML, XML (xml)

透明度在渐变中的使用

CSS3 渐变也支持透明度(transparent),可用于创建减弱变淡的效果。

为了添加透明度,我们使用 rgba() 函数来定义颜色结点。rgba() 函数中的最后一个参数可以是从 0 到 1 的值,它定义了颜色的透明度:0 表示完全透明,1 表示完全不透明。

background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));Code language: HTTP (http)

重复的线性渐变

repeating-linear-gradient() 函数用于重复线性渐变:

#grad { /* 标准的语法 */ background-image: repeating-linear-gradient(red, yellow 10%, green 20%); }Code language: CSS (css)

径向渐变

径向渐变由它的中心定义

background-image: radial-gradient(red, yellow, green);

径向渐变 – 颜色结点不均匀分布

background-image: radial-gradient(red 5%, yellow 15%, green 60%);

设置形状

shape 参数定义了形状。它可以是值 circle 或 ellipse。其中,circle 表示圆形,ellipse 表示椭圆形。默认值是 ellipse。

background-image: radial-gradient(circle, red, yellow, green);

Previous:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注