<radial-gradient> = radial-gradient([ [ <shape> || <size> ] [ at <position> ]? , | at <position>, ]?<color-stop>[ , <color-stop> ]+)
<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>
<color-stop> = <color> [ <length> | <percentage> ]?
用默認的漸變方向繪制一個最簡單的徑向漸變
示例代碼:
(圖一)
radial-gradient(circle, #f00, #ff0, #080);
radial-gradient(circle at center, #f00, #ff0, #080);
radial-gradient(circle at 50%, #f00, #ff0, #080);
radial-gradient(circle farthest-corner, #f00, #ff0, #080);
以上幾句代碼都可以實現如(圖一)的漸變效果
錯誤代碼:
radial-gradient(circle 50px 50px, #f00, #ff0, #080);
因為 circle 是正圓,一個值就能表示其直徑長度,所以此時 <size> 只能是一個值。
不通過 <shape> 來表示圓和橢圓的方法:
以下2行代碼都可以表示一個圓:
radial-gradient(100px, #f00, #ff0, #080); /* 1 */
radial-gradient(100px 100px, #f00, #ff0, #080); /* 2 */
radial-gradient(50px 100px, #f00, #ff0, #080); /* 3 */
代碼1:只給出100px,所以被當成是正圓的半徑,于是就能確定一個直徑為100px的圓;
代碼2:給出了2個值,按理應該是要畫一個橢圓的,但2個值相等,所以這個橢圓其實此時是個正圓形態。需要注意的是,代碼2如果加上 circle,那將是錯誤語法,因為這是2個值只有橢圓才接受;
代碼3:表示了一個水平半徑為50px,垂直半徑為100px的橢圓
IE | Firefox | Chrome | Safari | Opera | iOS Safari | Android Browser | Android Chrome |
---|---|---|---|---|---|---|---|
6.0-9.0 | 2.0-3.5 | 4.0-9.0 -webkit- #1 |
3.1-3.2 | 15.0+ | 3.2-4.3 -webkit- #1 |
2.1-3.0 -webkit- #1 |
10.0-25.0 -webkit- #1 |
10.0+ | 3.6-15.0 -moz- |
10.0-25.0 -webkit- |
4.0-5.0 -webkit- #1 |
5.0-6.1 | 4.0-4.3 -webkit- |
26.0+ | |
16.0+ | 26.0+ | 5.1-6.0 -webkit- |
7.0+ | 4.4+ | |||
6.1+ |