天天看點

【原】[webkit移動開發筆記]之CSS3徑向漸變

談到漸變,大家并不陌生,設計稿中經常會遇到,其中最常見的也最平凡使用的是線性漸變和徑向漸變,在pc端開發,很多大型網站都需要考慮所有浏覽器的相容,通常如漸變的按鈕或者背景圖一般會被重構師們切成圖檔,而在移動開發中如果使用圖檔是很占流量,能不用圖檔盡量不使用,那麼,css3來實作無圖的漸變效果是首選的。

【原】[webkit移動開發筆記]之CSS3徑向漸變

本文以移動開發中遇到的一個徑向漸變例子,講解css3徑向漸變在項目中的應用和以及需要注意的地方。

 一、徑向漸變的基礎知識

徑向漸變的概念:從起點到終點顔色從内到外進行圓形漸變(從中間向外拉)。

 二、徑向漸變的基本文法

第一組參數type(類型)為 radial,因為是徑向漸變;

第二組參數x1 y1,r1為第一個圓的圓心和半徑;

第三組參數x2 y2,r2為第二個圓的圓心和半徑;

第四組參數color-stop為漸變的中間過渡色,可以設定多組。

 二、css3徑向漸變在ios和android系統的相容測試

【原】[webkit移動開發筆記]之CSS3徑向漸變

android2.x特别是2.1等較低的版本,并不完全支援,渲染出來的效果不豐富

 二、css3徑向漸變最簡單的寫法

css3徑向漸變(radial)的代碼

代碼解釋如下,可以看出徑向漸變是2個圓組成,2個圓可分别設定不同的圓心和半徑,這裡的圓心都為(50%,50%),第一個50%是圓心距離x軸的距離,第二個50%是圓心距離y軸的距離,

而第一個圓的半徑為0,第二個圓的漸變半徑為100。

【原】[webkit移動開發筆記]之CSS3徑向漸變

 運作代碼後視覺效果如下圖,可以看出以白色(white)結束後,白色填充了整個背景

【原】[webkit移動開發筆記]之CSS3徑向漸變

大部分設計稿是一個顔色到另一個顔色的漸變,是以我們一般可以設定第一個圓漸變是起點,半徑為0,第二個圓的漸變結束點,開始設定半徑,這是最簡單的做法啦!然後也可能運到更多複雜的效果,這個需要你對css3漸變有深入的了解和使用

 三、css3徑向漸變的中間過渡色color-stop

color-stop到底是怎麼使用的呢,看下來自photoshop漸變編輯器的圖檔:

【原】[webkit移動開發筆記]之CSS3徑向漸變

為了明顯的看到效果,代碼中從綠色到紫色的徑向漸變,50%處中間過渡色為紅色,80%處為黃色

 運作代碼後視覺效果如下圖:

【原】[webkit移動開發筆記]之CSS3徑向漸變

 四、css3徑向漸變實戰

設計稿給過來的背景圖,2層的線性漸變疊加,要如何實作呢?

【原】[webkit移動開發筆記]之CSS3徑向漸變

上圖,我們來分析下,

最頂層(圖層8)為黃色漸變到透明,在半徑在40到180之間由70%的透明度漸變到0%,也就是漸變完全透明。

中間一層(圖層7)為橙色漸變到透明,在半徑在80到250之間由100%的透明度漸變到0%

紅色底(圖層4)

 小技巧:通常情況下css屬性值中,後出現的屬性值會覆寫前面的屬性,而-webkit-gradient中多層背景漸變是放在同一個屬性值時,先出現的值至于最頂層,從上到下的順序展示,像多個div使用z-index的後有層級高低的表現,由此我們把上面的代碼合并如下:

ok!搞定~

<a href="http://www.cnblogs.com/peunzhang/admin/%ef%bc%9ahttp:/files.cnblogs.com/peunzhang/gradient-radial.zip" target="_blank">代碼下載下傳</a>

作者:白樹