CSS3之線性漸變(linear gradients)


線性漸變(linear gradients)沿着一根軸線改變顏色,從起點到終點顏色進行順序漸變。

語法:

background:linear-gradient(direction,color-stop1,color-stop2,……);

1、線性漸變從上到下(默認)

語法

background:linear-gradient(color-stop1,color-stop2……);

實例

div {
    width: 800px;
    height: 500px;
    margin: 0 auto;
    background: -webkit-linear-gradient(red, blue);
    /* Safari 5.1 - 6.0*/
    background: -o-linear-gradient(red, blue);
    /* Opera 11.1 - 12.0 */
    background: -moz-linear-gradient(red, blue);
    /* Firefox 3.6 - 15 */
    background: linear-gradient(red, blue);
    /* 標准的語法 */
}

  

2、線性漸變從左到右

語法:

background: -webkit-linear-gradient(begin-level begin-vertical,color-stop1,color-stop2,……);

/* Safari 5.1 - 6.0 */

background: -o-linear-gradient(end-level end-vertical,color-stop1,color-stop2,……);

/* Opera 11.1 - 12.0 */

background: -moz-linear-gradient(end-level end-vertical,color-stop1,color-stop2,……);

/* Firefox 3.6 - 15 */

background: linear-gradient(to end-level end-vertical,color-stop1,color-stop2,……);

/*標准的語法*/

實例

div {
  width: 800px;
  height: 500px;
  margin: 0 auto;
  background: -webkit-linear-gradient(left, red, blue);
  /* Safari 5.1 - 6.0 */
  background: -o-linear-gradient(right, red, blue);
  /* Opera 11.1 - 12.0 */
  background: -moz-linear-gradient(right, red, blue);
  /* Firefox 3.6 - 15 */
  background: linear-gradient(to right, red, blue);
  /* 標准的語法 */
}

  

3、線性漸變對角

語法

background: -webkit-linear-gradient(begin-level begin-vertical,color-stop1,color-stop2,……);

/* Safari 5.1 - 6.0 */

background: -o-linear-gradient(end-level end-vertical,color-stop1,color-stop2,……);

/* Opera 11.1 - 12.0 */

background: -moz-linear-gradient(end-level end-vertical,color-stop1,color-stop2,……);

/* Firefox 3.6 - 15 */

background: linear-gradient(to end-level end-vertical,color-stop1,color-stop2,……);

/*標准的語法*/

小提示:線性漸變對角時關鍵字的順序無關緊要,“to left bottom”與“to bottom left”相同。

實例

div {
  width: 800px;
  height: 500px;
  margin: 0 auto;
  background: -webkit-linear-gradient(left top, red , blue); /* Safari 5.1 - 6.0 */
  background: -o-linear-gradient(bottom right, red, blue); /* Opera 11.1 - 12.0 */
  background: -moz-linear-gradient(bottom right, red, blue); /* Firefox 3.6 - 15 */
  background: linear-gradient(to bottom right, red , blue); /* 標准的語法 */
}

  

3-3編程練習

小伙伴們,我們學習了怎樣使用CSS3寫顏色的漸變效果,那么根據效果圖,寫出代碼,實現3中方式的漸變把!

效果圖如下:

任務

第一步:寫出html代碼(3個div元素)

第二部:給div元素設置CSS樣式(寬和高。三個元素在一行上)

第三部:給三個div元素設置相應的背景顏色

(1)第一個div元素是從上向下發生漸變,暗色由黃色變成紅色

(2)第二個div元素是從左到右發生漸變,顏色由黃色變為紅色

第三個div元素是從左上角到右下角發生漸變,顏色由紅色變為黃色

參考代碼:

<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <title>background-clip</title>
  <meta name='description' content='background-clip'>
  <meta name='keywords' content='background-clip'>
  <style>
    /* 此處寫代碼 */
    html,
    body {
      margin: 0;
      padding: 0;

    }

    .container {
      width: 1000px;
      margin: 20px auto;
      display: flex;
      justify-content: space-between;
    }
    .font{
      display:flex;
      justify-content:center;
      width: 200px; 
      
    }

    div.item{
      width: 200px;
      height: 200px;
      background: #ccc;
    }

    div.item:nth-child(1) {
      background: linear-gradient(yellow, red);

    }

    div.item:nth-child(2) {
      background: linear-gradient(to right,yellow, red);

    }
    div.item:nth-child(3) {
      background: linear-gradient(to bottom right, red,yellow);

    }
  </style>

</head>

<body>
  <!-- 此處寫代碼 -->

  <div class='container'>
    <div class='font'>上下方向漸變</div>
    <div class='font'>左右方向漸變</div>
    <div class='font'>對角線方向漸變</div>
  </div>
  <div class='container'>
    <div class='item'></div>
    <div class='item'></div>
    <div class='item'></div>
  </div>
</body>

</html>

  

4、線性漸變-使用角度

語法:

background:linear-gradient(angle,color-stop1,color-stop2,……);

角度說明

0deg創建一個從下到上的漸變,正角表示順時針旋轉,90deg創建一個從左到右的漸變。

實例

#grad {
  background: -webkit-linear-gradient(180deg, red, blue); /* Safari 5.1 - 6.0 */
  background: -o-linear-gradient(180deg, red, blue); /* Opera 11.1 - 12.0 */
  background: -moz-linear-gradient(180deg, red, blue); /* Firefox 3.6 - 15 */
  background: linear-gradient(180deg, red, blue); /* 標准的語法 */
}

  

編程練習

小伙伴們,根據效果圖,補充代碼,實現元素的背景顏色在水平方向上發生漸變,其中:

(1)0%-20%處,顏色是紅色全透明

(2)20%-50%處,顏色是從白色漸變到紅色

(3)50%-90%處,顏色從紅色漸變到綠色,其中綠色的透明度是0.7

效果圖如下:

任務

給元素設置背景顏色漸變

(1)用角度表示法讓顏色在水平方向發生漸變

(2)水平方向的0%-20%處,漸變的顏色是紅色全透明

(3)水平方向的20%-50%處,漸變的顏色是紅色,顏色沒有透明度

(4)水平方向50%-90%處,漸變的顏色是綠色,透明度為0.7

參考代碼:

<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <title>em</title>
  <meta name='description' content='em'>
  <meta name='keywords' content='em'>
  <style>
    /* 此處寫代碼 */
    div {
      width: 400px;
      height: 400px;
      border:1px solid red;
      background:linear-gradient(90deg,rgba(255, 0, 0,0) 20%,rgba(255, 0, 0,1) 50%,rgba(0,255,0,0.7) 90%);
      margin:0 auto;
    }
  </style>

</head>

<body>
  <!-- 此處寫代碼 -->
  <div></div>

</body>

</html>

  

5、線性漸變-重復漸變

語法:

background:repeating-linear-gradient(color1 length|percentage,color2 length|percentage,……);

實例

div {

background:repeating-linear-gradient(red,blue 20%);

}

3-9編程練習

小伙伴們,我們學習了CSS3現象漸變中的重復漸變,接下來,根據效果圖補充代碼,實現元素中多個彩虹的重復。

提示:彩虹的顏色,用英語單詞表達即可

效果圖如下

任務

給元素設置背景顏色重復漸變

(1)效果圖中的完整彩虹重復了最少3次,占據了元素的90%的位置,所以一個彩虹占據元素的比例是30%

(2)將一個彩虹的7個顏色,均攤到30%中,每個顏色的比重是5%,比如紅色占據的位置是0%,橙色占據的是5%,黃色占據的是10%,以此類推。

參考代碼:

<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <title>em</title>
  <meta name='description' content='em'>
  <meta name='keywords' content='em'>
  <style>
    /* 此處寫代碼 */
    div {
      width: 400px;
      height: 300px;
      border:1px solid red;
      background:repeating-linear-gradient(90deg,red 0%,orange 5%,yellow 10%,green 15%,blue 20%,indigo 25%,purple 30%);
      margin:0 auto;
    }
  </style>

</head>

<body>
  <!-- 此處寫代碼 -->
  <div></div>

</body>

</html>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM