1. 程式人生 > >css3 中的漸變

css3 中的漸變

如果 20px 類型 ng- ner key solid spa brush

雖說css3 都已經使用多年了,但是關於css3的漸變用的很少。今天遇見了,就學習了一下。

首先我們打開ps,新建一個畫布,選擇漸變工具,這個時候我們能夠看到頂欄上面的漸變類型如下

技術分享圖片

第一個我們選中的是線性漸變,第二個是徑向漸變,第三個是角度漸變,第四個是對稱漸變,第五個是菱形漸變。對於css3 並沒有提供這麽多的漸變類型,只提供了兩種基本的漸變類型:線性漸變和徑向漸變,還有一種組合漸變就是重復漸變。

線性漸變

css3 中的線性漸變用的是 linear-gradient 這個函數。

基本語法:

<linear-gradient> = linear-gradient([ [ <angle> | to <side-or-corner] ,]? <color-start>[, <color-end>]+)
<side-or-corner> = [left | right] || [top | bottom]
<color-start|end> = <color>[ <length>|<percentage>]?

語法說明:

<angle>:用角度值指定漸變的方向(或角度)。

to left:設置漸變為從右到左。相當於: 270deg

to right:設置漸變從左到右。相當於: 90deg

to top:設置漸變從下到上。相當於: 0deg

to bottom:設置漸變從上到下。相當於: 180deg。這是默認值,等同於留空不寫。

<color-start|end> 用於指定漸變的起止顏色:

<color>:指定顏色。

<length>:用長度值指定起止色位置。不允許負值

<percentage>:用百分比指定起止色位置。

實例如下:

div {  
    width: 200px;  
    height: 100px;  
    margin: 10px 5px;  
    border: 1px solid #ddd000;  
}  
#LinearStartToEnd {  
  float:left;  
  background: linear-gradient(#ff0000, #00ff00);  
}  
#LinearPercentage {  
  float:left;  
  background
: linear-gradient(#0000ff, #ff0000 52%, #00ff00); } #LinearAnglePercentage { float:left; background: linear-gradient(90deg, #ff0000 20%, #00ff00 50%, #000000 80%); } #LinearAngle { float:left; background: linear-gradient(30deg, #ffff00 30%, #ff0000, #00ff00); } #LinearTopRight { float:left; background: linear-gradient(to right top, #00ff00, #ff0000 50%, #0000ff); }

技術分享圖片

徑向漸變

使用函數:raidal-gradient

基本語法

 <position> = [ <length>① | <percentage>① | left | center① | right ]? [ <length>② | <percentage>② | top | center② | bottom ]?
     <shape> = circle | ellipse
     <size> = <extent-keyword>|[<circle-size>||<ellipse-size>]
     <extent-keyword> = closest-side | closest-corner | farthest-side | farthest-corner
     <circle-size> = <length>
     <ellipse-size> = [ <length>| <percentage> ]{2}
     <shape-size> = <length>| <percentage>
     <radial-gradient> = radial-gradient([ [ <shape>|| <size> ] [ at <position> ]? , | at <position> , ]?<color-start>[[ , <color-end>]]+)

語法的簡單描述

<position> 確定圓心的位置。如果提供2個參數,第一個表示橫坐標,第二個表示縱坐標;如果只提供一個,第二值默認為50%,即center

<length>①:用長度值指定徑向漸變圓心的橫坐標值。可以為負值。

<percentage>①:用百分比指定徑向漸變圓心的橫坐標值。可以為負值。

<length>②:用長度值指定徑向漸變圓心的縱坐標值。可以為負值。

<percentage>②:用百分比指定徑向漸變圓心的縱坐標值。可以為負值。

center①:設置中間為徑向漸變圓心的橫坐標值。

center②:設置中間為徑向漸變圓心的縱坐標值。

left:設置左邊為徑向漸變圓心的橫坐標值。

right:設置右邊為徑向漸變圓心的橫坐標值。

top:設置頂部為徑向漸變圓心的縱坐標值。

bottom:設置底部為徑向漸變圓心的縱坐標值。

<shape> 確定圓的類型

circle:指定圓形的徑向漸變

ellipse:指定橢圓形的徑向漸變。

<extent-keyword> circle | ellipse 都接受該值作為 size。

closest-side:指定徑向漸變的半徑長度為從圓心到離圓心最近的邊。

closest-corner:指定徑向漸變的半徑長度為從圓心到離圓心最近的角。

farthest-side:指定徑向漸變的半徑長度為從圓心到離圓心最遠的邊。

farthest-corner:指定徑向漸變的半徑長度為從圓心到離圓心最遠的角。

<circle-size> circle 接受該值作為 size。

<length>:用長度值指定正圓徑向漸變的半徑長度。不允許負值。

<ellipse-size> ellipse 接受該值作為 size。

<length>:用長度值指定橢圓徑向漸變的橫向或縱向半徑長度。不允許負值。

<percentage>:用百分比指定橢圓徑向漸變的橫向或縱向半徑長度。不允許負值。

實例如下:

#RadialCenterCircle {  
  float:left;  
    background: radial-gradient(circle at center, #ff0000, #ffff00, #00ffff);  
}  
#RadialClosestSide {  
  float:left;  
    background: radial-gradient(circle closest-side, #ff0000, #00ff00, #ffff00);  
}  
#RadialFarthestSide {  
  float:left;  
    background: radial-gradient(farthest-side, #ff0000 20%, #ffff00 60%, #00ff00 80%);  
}  
#RadialRightTop {  
  float:left;  
    background: radial-gradient(at right top, #ff0000, #ffff00, #00ff00);  
}  
#RadialRadiusCenter {  
  float:left;  
    background: radial-gradient(farthest-side at top right, #ff0000, #ffff00, #01fefe);  
}  
#RadialGroup {  
  float:left;  
    background:  
        radial-gradient(farthest-side at top right, #ff0000, #ffff00, #009f00, transparent),  
        radial-gradient(60px at top left, #ff0000, #ffff00, #00ff0e);  
}

技術分享圖片

重復漸變

重復漸變分為重復線性漸變和重復徑向漸變,重復漸變的語法其實和相對應的基礎漸變的語法是相類似的。

下面給出一些基本的實例:

#RepeatingLinearPercentage{  
  float:left;  
    background: repeating-linear-gradient(#ff0000, #00ff00 10%, #000000 15%);  
}  
#RepeatingLinearRight {  
  float:left;  
    background: repeating-linear-gradient(to right, #ff0000, #00ff00 10%, #000000 15%);  
}  
#RepeatingLinearAngle {  
  float:left;  
    background: repeating-linear-gradient(45deg, #ff0000, #00ff00 10%, #0000ff 15%);  
}  
#RepeatingLinearBottomLeft {  
  float:left;  
    background: repeating-linear-gradient(to bottom left, #00ffff, #ff0000 10%, #00ff00 15%);  
}
#RepeatingRadialCircle {  
  float:left;  
    background: repeating-radial-gradient(circle, #ff0000 0, #00ff00 10%, #0000ff 15%);  
}  
#RepeatingRadialTopLeft {  
  float:left;  
    background: repeating-radial-gradient(at top left, #ff0000, #00ff00 10%, #0de0f0 15%, #ffff00 20%, #000000 25%);  
}  
#RepeatingRadialClosestCorner {  
  float:left;  
    background: repeating-radial-gradient(circle closest-corner at 20px 50px, #00ff00, #ff0000 10%, #00ffff 20%, #ffff00 30%, #ff00ff 40%);  
}

技術分享圖片

以上就是有關漸變的基本學習

css3 中的漸變