一篇文章帶你瞭解CSS 漸變知識

CSS3 漸變使您可以是你的背景顏色在兩個或多個顏色之間平滑過渡。css

早些時候,你必須使用圖像實現這些效果。 然而, 經過使用CSS3漸變能夠減小下載時間和帶寬的使用. 此外,縮放的元素在縮放時看起來更好,由於漸變是由瀏覽器生成的。html


1、瀏覽器支持

表中的數字指定徹底支持該屬性的第一個瀏覽器版本。(來源於百度)web

數字後面的 -webkit- 或者 -moz- 使用時須要指定前綴。瀏覽器

屬性 Chrome Firefox Safari Opera IE
linear-gradient 26.0 10.0 -webkit- 10.0 16.0 3.6 -moz- 6.1 5.1 -webkit- 12.1 11.1 -o-
radial-gradient 26.0 10.0 -webkit- 10.0 16.0 3.6 -moz- 6.1 5.1 -webkit- 12.1 11.6 -o-
repeating-linear-gradient 26.0 10.0 -webkit- 10.0 16.0 3.6 -moz- 6.1 5.1 -webkit- 12.1 11.1 -o-
repeating-radial-gradient 26.0 10.0 -webkit- 10.0 16.0 3.6 -moz- 6.1 5.1 -webkit- 12.1 11.6 -o-

2、CSS3 線性漸變(向下/向上/向左/向右/傾斜)

要建立線性漸變,必須定義至少兩個顏色中止。顏色中止是你想要渲染平滑過渡之間的顏色。 您還能夠設置一個起始點和一個方向(或角度)和漸變效果。網絡

語法:函數

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

HTML代碼:學習

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>項目</title>

</head>
<body>

  <div id="grad1"></div>
</body>
</html>

例如:網站

線性漸變 - 上到下code

顯示從頂部開始的線性漸變。它從開始的紅色,過渡到黃色:htm

<style>
    #grad1 {
        height: 200px;
        background: blue; /* 對於那些不支持漸變的瀏覽器 */
        background: -webkit-linear-gradient(blue, yellow); /* Safari 5.1 到 6.0 */
        background: -o-linear-gradient(blue, yellow); /* Opera 11.1 到 12.0 */
        background: -moz-linear-gradient(blue, yellow); /* Firefox 3.6 到 15 */
        background: linear-gradient(blue, yellow); /* 標準語法 (必須是最後一個) */
    }
</style>

線性漸變 - 左到右

例如:

顯示從左開始的線性漸變。它從開始的紅色,過渡到黃色

<style>
    #grad1 {
        height: 200px;
        background: blue; /* 對於那些不支持漸變的瀏覽器 */
        background: -webkit-linear-gradient(left, blue , yellow); /* Safari 5.1 到 6.0 */
        background: -o-linear-gradient(right, blue, yellow); /* Opera 11.1 到 12.0 */
        background: -moz-linear-gradient(right, blue, yellow); /* Firefox 3.6 到 15 */
        background: linear-gradient(to right, blue , yellow); /* 標準語法 (必須是最後一個) */
    }
</style>

線性漸變 - 對角線

能夠經過指定水平和垂直起始位置來實現對角線漸變。

下面的示例顯示從左上角開始的線性漸變(到右下角)。它開始紅色,過渡到黃色:

<style>
    #grad1 {
        height: 200px;
        background: blue; /*對於那些不支持漸變的瀏覽器 */
        background: -webkit-linear-gradient(left top, blue, yellow); /* Safari 5.1 到 6.0 */
        background: -o-linear-gradient(bottom right, blue, yellow); /* Opera 11.1 到 12.0 */
        background: -moz-linear-gradient(bottom right, blue, yellow); /* Firefox 3.6 到 15 */
        background: linear-gradient(to bottom right, blue, yellow); /* 標準語法(必須是最後一個) */
    }
</style>


1. 使用角度

若是你想在漸變方向上有更多的控制,你能夠定義一個角度,而不是預約的方向(下、上、左、右等)。

語法

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

下面的示例演示如何使用在線性漸變上使用角度:

例如:

#grad {
  width: 100%;
  height: 100px;
  background: blue; /* 對於那些不支持漸變的瀏覽器 */
  background: -webkit-linear-gradient(-90deg, blue, yellow); /*  Safari 5.1 到 6.0 */
  background: -o-linear-gradient(-90deg, blue, yellow); /*  Opera 11.1 到 12.0 */
  background: -moz-linear-gradient(-90deg, blue, yellow); /*  Firefox 3.6 到 15 */
  background: linear-gradient(-90deg, blue, yellow); /*  標準語法 */
}


2. 使用多箇中止顏色

下面的示例顯示一個具備多箇中止顏色的線性漸變(從上到下)

例如:

#grad {
  background: blue; /* 對於那些不支持漸變的瀏覽器 */
  background: -webkit-linear-gradient(blue, yellow, green); /*  Safari 5.1 到 6.0 */
  background: -o-linear-gradient(blue, yellow, green); /*  Opera 11.1 到 12.0 */
  background: -moz-linear-gradient(blue, yellow, green); /*  Firefox 3.6 到 15 */
  background: linear-gradient(blue, yellow, green); /* 標準語法 */
}

下面實例演示瞭如何使用彩虹顏色和一些文原本建立一個線性漸變(從左到右)

漸變背景

例如:

#grad {
  background: blue; /*對於那些不支持漸變的瀏覽器 */
  /*  Safari 5.1 到 6.0 */
  background: -webkit-linear-gradient(left,red,orange,yellow,green,blue,indigo,violet);
  /*  Opera 11.1 到 12.0 */
  background: -o-linear-gradient(left,red,orange,yellow,green,blue,indigo,violet);
  /*  Fx 3.6 到 15 */
  background: -moz-linear-gradient(left,red,orange,yellow,green,blue,indigo,violet);
  /* Standard syntax */
  background: linear-gradient(到 right, red,orange,yellow,green,blue,indigo,violet);
}


3. 使用的透明度

CSS3 漸變也支持透明度,能夠用來建立淡入淡出效果。

添加透明度,咱們用rgba()函數來定義中止顏色。在rgba()函數的最後一個參數能夠從0到1的值,並定義顏色的透明度:0表示徹底透明,1表示徹底的顏色(不透明度)。

下面的示例顯示從左開始的線性漸變。它開始徹底透明,過渡到全紅色:

#grad {
  background: blue; /*  不支持漸變的瀏覽器 */
  background: -webkit-linear-gradient(left,rgba(255,0,0,0),rgba(255,0,0,1)); /*Safari 5.1-6*/
  background: -o-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1)); /*Opera 11.1-12*/
  background: -moz-linear-gradient(right,rgba(255,0,0,0),rgba(255,0,0,1)); /*Fx 3.6-15*/
  background: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1)); /*Standard*/
}


4. 重複線性漸變

repeating-linear-gradient() 函數用於重複線性漸變:

例如:

#grad {
  background: blue; /*  不支持漸變的瀏覽器 */
  /* Safari 5.1 到 6.0 */
  background: -webkit-repeating-linear-gradient(blue, yellow 10%, green 20%);
  /* Opera 11.1 到 12.0 */
  background: -o-repeating-linear-gradient(blue, yellow 10%, green 20%);
  /* Firefox 3.6 到 15 */
  background: -moz-repeating-linear-gradient(blue, yellow 10%, green 20%);
  /* Standard syntax */
  background: repeating-linear-gradient(blue, yellow 10%, green 20%);
}


3、CSS3 徑向漸變 (由中心定義)

徑向漸變是由其中心定義的。

要建立徑向漸變,還必須定義至少兩個中止顏色。

語法

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

徑向漸變-均勻的間隔中止顏色 (默認)

下面的示例顯示一個徑向漸變,其顏色間隔均勻:

#grad {
  background: blue; /*  browsers that do not support gradients */
  background: -webkit-radial-gradient(blue, yellow, green); /* Safari 5.1 到 6.0 */
  background: -o-radial-gradient(blue, yellow, green); /*  Opera 11.6 到 12.0 */
  background: -moz-radial-gradient(blue, yellow, green); /*  Firefox 3.6 到 15 */
  background: radial-gradient(blue, yellow, green); /* Standard syntax */
}

徑向漸變-不一樣間隔的中止顏色

下面的例子顯示了一個具備不一樣間距的顏色漸變的徑向漸變:

#grad {
  background: blue; /*不支持漸變的瀏覽器 */
  background: -webkit-radial-gradient(blue 5%, yellow 15%, green 60%); /* Safari 5.1-6.0 */
  background: -o-radial-gradient(blue 5%, yellow 15%, green 60%); /*  Opera 11.6-12.0 */
  background: -moz-radial-gradient(blue 5%, yellow 15%, green 60%); /*  Firefox 3.6-15 */
  background: radial-gradient(blue 5%, yellow 15%, green 60%); /* Standard syntax */
}


1. 設置形狀

形狀參數定義形狀。它能夠取值圓或橢圓。默認值爲橢圓形。

下面的例子顯示了一個圓形的徑向漸變:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>項目</title>
    <style>
      #grad1 {
        height: 150px;
        width: 200px;
        background: -webkit-radial-gradient(blue, yellow, green);
        /*  Safari 5.1 到 6.0 */
        background: -o-radial-gradient(blue, yellow, green);
        /*  Opera 11.6 到 12.0 */
        background: -moz-radial-gradient(blue, yellow, green);
        /*  Fx 3.6 到 15 */
        background: radial-gradient(blue, yellow, green);
        /* 標準語法(必須是最後一個) */
      }

      #grad2 {
        height: 150px;
        width: 200px;
        background: -webkit-radial-gradient(circle, blue, yellow, green);
        /*  Safari 5.1 到 6.0 */
        background: -o-radial-gradient(circle, blue, yellow, green);
        /*  Opera 11.6 到 12.0 */
        background: -moz-radial-gradient(circle, blue, yellow, green);
        /*  Fx 3.6 到 15 */
        background: radial-gradient(circle, blue, yellow, green);
        /* 標準語法(必須是最後一個) */
      }
</style>
  </head>
  <body>

    <h3>徑向漸變-形狀</h3>

    <p><strong>橢圓(這是默認值):</strong></p>
    <div id="grad1"></div>

    <p><strong>圓:</strong></p>
    <div id="grad2"></div>

    <p><strong>注意:</strong> Internet Explorer 9 和早期的版本不支持漸變。</p>

  </body>
</html>

2. 重複徑向漸變

repeating-radial-gradient() 函數用於重複徑向漸變:

例如:

#grad {
  background: blue; /*不支持漸變的瀏覽器*/
  /*  Safari 5.1 到 6.0 */
  background: -webkit-repeating-radial-gradient(blue, yellow 10%, green 15%);
  /*  Opera 11.6 到 12.0 */
  background: -o-repeating-radial-gradient(blue, yellow 10%, green 15%);
  /*  Firefox 3.6 到 15 */
  background: -moz-repeating-radial-gradient(blue, yellow 10%, green 15%);
  /* Standard syntax */
  background: repeating-radial-gradient(blue, yellow 10%, green 15%);
}

4、總結

本文基於html基礎, 經過對css中漸變效果作了詳細的講解,介紹來了常見的兩種漸變方式。經過豐富的案例讓你們可以更好的去了解,去體會漸變的用法,但願能夠幫助你們更好的學習。

想學習更多Python網絡爬蟲與數據挖掘知識,可前往專業網站:http://pdcfighting.com/ 想學習更多Python網絡爬蟲與數據挖掘知識,可前往專業網站:http://pdcfighting.com/

相關文章
相關標籤/搜索