­

IT兄弟連 HTML5教程 CSS3屬性特效 漸變3

  • 2019 年 11 月 26 日
  • 筆記

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/ITXDL123/article/details/103232187

4 徑向漸變

CSS3徑向漸變是圓形或橢圓形漸變。顏色不再沿著一條直線軸變化,而是從一個起點朝所有方向混合。但相對線性漸變要比徑向漸變複雜的多。

徑向漸變的格式如下:

radial-gradient([<起點>]? [<形狀> || <大小>,]? <點>,<點>…)

徑向漸變的參數描述如表1:

表1 CSS3徑向漸變參數描述

5 徑向漸變實例

雖然徑向漸變要比線性漸變更為複雜,只要了解了其基本語法以及相關屬性參數的作用,並不需要花太多的時間去適應。接下來,我們通過實戰來加強徑向漸變的使用。本節的所有例子我們都在一個寬度為400像素,高為300像素的容器中實現。

一、從容器內部向外徑向漸變

先來看一個最簡單的徑向漸變,圓心都是容器正中間,從「#ffc107」顏色向「pink」顏色實現徑向漸變,CSS程式碼如下:

在瀏覽器中查看效果如圖1所示:

圖1 簡單徑向漸變

如果你想製作一個圓形漸變,而不是一個橢圓形漸變,只需要添加一個關鍵詞「circle」,我們在上例的基礎上添加一個關鍵詞「circle」,程式碼如下:

此時的漸變變成了圓形,在瀏覽器中查看效果如圖2所示:

圖2 圓形漸變

正如你所看到的,圓形的漸變是一個特殊的橢圓漸變,水平半徑和垂直半徑具有相同的長度值。既然圓形漸變是橢圓漸變的一種特殊情況,如果我們漸變主要半徑(水平半徑)和次要半徑(垂直半徑)不相同時就是一個橢圓形漸變。正如上面所言,主要半徑和次要半徑不相等時,製作的徑向漸變是橢圓形漸變,在製作橢圓形漸變,可以使用關鍵詞「ellipse」。

二、規定徑向漸變的半徑

除了使用關鍵詞製作不同的徑向漸變,還可以用不同的漸變參數製作徑向漸變效果,通過製作同心圓,主要半徑和次要半徑來決定徑向漸變的形狀。徑向漸變的半徑設為「200px,100px」。水平半徑為200px,垂直半徑為100px,從「#ffc107」色到「pink」色徑向漸變:

此時的漸變變成了水平半徑為200px,垂直半徑為100px的橢圓,在瀏覽器中查看效果如圖3所示:

圖3 自定義半徑的徑向漸變

三、規定徑向漸變的半徑及圓心位置

除了上述方法能實現一些簡單的徑向漸變效果之外,還可以使用漸變形狀配合圓心定位。主要使用「at」加上關鍵詞來定義徑向漸變中心位置。徑向漸變中心位置類似於background-position屬性。例如,圓心位置在「100px,150px」處,水平半徑為200px,垂直半徑為100px,從「#ffc107」色到「pink」色徑向漸變:

此時的漸變變成了水平半徑為200px,垂直半徑為100px且圓心位置在「100px 200px」處的橢圓,在瀏覽器中查看效果如圖4所示:

圖4 自定義半徑及圓心位置的徑向漸變

設置圓心位置除了使用特定的值外,可以使用百分比和一些關鍵詞來定義,如「center」、「top」、「right」、「bottom」、「left」及這些關鍵詞的組合,如「top left」、「right bottom」等,組合位置的關鍵詞順序可以調換。

四、重複的徑向漸變

跟線性漸變一樣,我們也可以為徑向漸變設置重複。以同樣的方式,可以使用相關的屬性創建重複的徑向漸變。其語法和linear-gradient類似,只是以一個徑向漸變為基礎進行重複漸變,如下例所示,我們製作一個三色重複的徑向漸變:

在瀏覽器中查看,漸變效果如圖5所示:

圖5 三色重複徑向漸變

理解了上述的幾個實例後,讀者就可以自己DIY漸變效果了。