首頁  >  文章  >  web前端  >  css怎麼設定漸變

css怎麼設定漸變

青灯夜游
青灯夜游原創
2021-04-20 17:52:5210423瀏覽

方法:1、用linear-gradient()實作線性漸變,語法「linear-gradient(角度,起止色彩清單)」;2、用radial-gradient()實作徑向漸變,語法「radial -gradient(大小位置,起止顏色)」。

css怎麼設定漸變

本教學操作環境:windows7系統、CSS3&&HTML5版、Dell G3電腦。

linear-gradient() 函數--線性漸變

linear-gradient() 函數用來建立線性漸變的"圖片" 。

建立一個線性漸變,需要指定兩種顏色,還可以實現不同方向(指定為一個角度)的漸變效果,如果不指定方向,預設從上到下漸變。

語法:

linear-gradient(direction, color-stop1, color-stop2, ...);

參數:

##描述用角度值指定漸層的方向(或角度)。 用於指定漸層的起止顏色。
#值
direction
color-stop1, color-stop2,...

程式碼範例(考慮瀏覽器相容性):

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>线性渐变</title>
<style>
    .demo{
        width:500 ;
        height: 300;
        margin: 50px auto;
    }
    .demo *{
        width: 200px;
        height: 200px;
        margin: 20px;
        text-align: center;
        line-height: 200px;
        color: #fff;
        font-size: 16px;
        float: left;
    }
    .demo1{
        /* 底色 */
        background-color: #fd0d0d;
       
        /* chrome 2+, safari 4+; multiple color stops */
        background-image:-webkit-gradient(linear, left bottom, left top, color-stop(0.32, #fd0d0d), 
        color-stop(0.66, #d89e3c), color-stop(0.83, #97bb51));
       
        /* chrome 10+, safari 5.1+ */
        background-image: -webkit-linear-gradient(#fd0d0d, #d89e3c, #97bb51);
        
        /* firefox; multiple color stops */
        background-image: -moz-linear-gradient(top,#fd0d0d, #d89e3c, #97bb51);
       
        /* ie 6+ */
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=&#39;#fd0d0d&#39;,endColorstr=&#39;#d89e3c&#39;);
        
        /* ie8 + */
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=&#39;#fd0d0d&#39;, 
        endColorstr=&#39;#d89e3c&#39;)";
        
        /* ie10 */
        background-image: -ms-linear-gradient(#fd0d0d, #d89e3c, #97bb51);
        /* opera 11.1 */
        background-image: -o-linear-gradient(#fd0d0d, #d89e3c, #97bb51);
        
        /* 标准写法 */
            background-image: linear-gradient(#fd0d0d, #d89e3c, #97bb51);
        }

        .demo2{
            /* 底色 */
        background-color:#d41a1a;
        
        /* chrome 2+, safari 4+; multiple color stops */
        background-image:-webkit-gradient(linear, left bottom, right top, color-stop(0.32, #d41a1a), 
        color-stop(0.66, #d9e60c), color-stop(0.83, #5c7c99));
        
        /* chrome 10+, safari 5.1+ */
        background-image:-webkit-linear-gradient(45deg, #d41a1a, #d9e60c, #5c7c99);
        
        /* firefox; multiple color stops */
        background-image:-moz-linear-gradient(45deg, #d41a1a, #d9e60c, #5c7c99);
        
        /* ie10 */
        background-image: -ms-linear-gradient(45deg, #d41a1a 0%, #d9e60c 100%);
        
        /* opera 11.1 */
        background-image: -o-linear-gradient(45deg, #d41a1a, #d9e60c);
        
        /* 标准写法 */
            background-image: linear-gradient(45deg, #d41a1a, #d9e60c);
        }
    </style>
</head>
<body>
    <div class="demo">
        <div class="demo1">基本线性渐变--自上而下</div>
        <div class="demo2">基本线性渐变--45度角</div>
    </div>
</body>
</html>

效果圖:


css怎麼設定漸變

radial-gradient()函數--徑向漸層

radial-gradient() 函數以徑向漸層建立"圖像"。

徑向漸層由中心點定義。例:

css怎麼設定漸變

為了建立徑向漸層你必須設定兩個終止色。

css徑向顏色漸變(Radial Gradients)跟線性漸變(linear gradients)不一樣,它不是沿著一個方向漸變,而是以一個點為中心,向四周輻射漸變,360度的。

語法:

radial-gradient(shape size at position, start-color, ..., last-color);

參數值:


值描述shape確定圓的型別:#size定義漸層的大小,可能值:position定義漸變的位置。可能值:start-color, ..., last-color用於指定漸層的起止顏色。
    ellipse (預設): 指定橢圓形的徑向漸層。
  • circle :指定圓形的徑向漸層
    farthest-corner (預設) : 指定徑向漸變的半徑長度為從圓心到離圓心最遠的角
  • closest-side :指定徑向漸變的半徑長度為從圓心到離圓心最近的邊
  • closest-corner : 指定徑向漸變的半徑長度為從圓心到離圓心最近的角
  • farthest-side :指定徑向漸變的半徑長度為從圓心到離圓心最遠的邊
  • center(預設):設定中間為徑向漸層圓心的縱座標值。
  • top:設定頂部為徑向漸層圓心的縱座標值。
  • bottom:設定底部為徑向漸層圓心的縱座標值。

範例:

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

#grad2 {
    height: 150px;
    width: 200px;
    background-color: red; /* 浏览器不支持的时候显示 */
    background-image: radial-gradient(circle, red, yellow, green); /* 标准的语法(必须放在最后) */
}
</style>
</head>
<body>

<h3>径向渐变 - 形状</h3>

<p><strong>椭圆形 Ellipse(默认):</strong></p>
<div id="grad1"></div>

<p><strong>圆形 Circle:</strong></p>
<div id="grad2"></div>

<p><strong>注意:</strong> Internet Explorer 9 及之前的版本不支持渐变。</p>

</body>
</html>

效果圖:


css怎麼設定漸變

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>径向渐变</title>
<style>
    .demo{
        width:500 ;
        height: 300;
        margin: 50px auto;
    }
    .demo *{
        width: 200px;
        height: 200px;
        margin: 20px;
        text-align: center;
        line-height: 200px;
        color: #fff;
        font-size: 16px;
        float: left;
    }
    .demo1{
        background-image: -moz-radial-gradient(#ecff05, red);
        /* old */
        background-image: -webkit-gradient(radial, center center, 0, center center, 220, from(#ecff05), to(red)); 
         /* new syntax */
        background-image: -webkit-radial-gradient(#ecff05, red);
        background-image: radial-gradient(#ecff05, red);
    }
    .demo2{
        background-image: -moz-radial-gradient(45px 45px 45deg, circle cover, #ecff05 0%, orange 100%, red 95%);
        background-image: -webkit-radial-gradient(45px 45px, circle cover, #ecff05, red);
        background-image: radial-gradient(45px 45px 45deg, circle cover, #ecff05 0%, orange 100%, red 95%);
    }
</style>
</head>
<body>
    <div class="demo">
        <div class="demo1">径向渐变</div>
        <div class="demo2">径向渐变</div>
    </div>
</body>
</html>

css怎麼設定漸變

(學習影片分享:

css影片教學

以上是css怎麼設定漸變的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn