首頁  >  文章  >  web前端  >  css3的重複漸層是什麼?如何使用? (程式碼範例)

css3的重複漸層是什麼?如何使用? (程式碼範例)

青灯夜游
青灯夜游原創
2018-11-06 10:05:074812瀏覽

這篇文章帶給大家的內容是介紹css3的重複漸層是什麼?如何使用? (程式碼範例)。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。

首先我們就來介紹一下重複漸層是什麼?

在css3除了可以實現線性漸變【linear-gradient()】,徑向漸層【radial-gradient()】外,還可以實現重複漸層。 css3中重複漸變可以分為兩種:

重複線性漸變:repeating-linear-gradient()

重複徑向漸層:repeating-radial-gradient()

接下面我們透過簡單的程式碼範例來看看兩種重複漸層是如何使用的

重複漸變,在渲染時,終止顏色會在兩個方向上無限重複,它們的位置以最後指定的終止顏色的位置和第一個指定的終止顏色的位置之間的差值的倍數移位。例如,repeating-linear-gradient(red 10px, blue 50px) 等效於linear-gradient(..., red -30px, blue 10px, red 10px, blue 50px, red 50px, blue)。注意,最後一個終止顏色和第一個終止顏色總是在每個組的邊界處重合,如果漸變沒有以相同的顏色開始和結束,這將產生尖銳的過渡。

其實重複漸變的語法和非重複漸變的語法是一樣的,例:

repeating-linear-gradient(red, blue 20px, red 40px);

效果圖:

css3的重複漸層是什麼?如何使用? (程式碼範例)##

repeating-radial-gradient(red, blue 20px, red 40px);

css3的重複漸層是什麼?如何使用? (程式碼範例)

repeating-radial-gradient(circle closest-side at 20px 30px, red, yellow, green 100%, yellow 150%, red 200%);

css3的重複漸層是什麼?如何使用? (程式碼範例)

如果第一終止顏色和最後一終止顏色之間的距離不是零,但是足夠小以至於知道輸出設備的物理分辨率不足以忠實地實現渲染漸變,但為了實現效果必須找到漸變的平均顏色並將漸變渲染為等於平均顏色的純色圖像。

如果第一個和最後一個終止顏色之間的距離為零(或由於實現限製而捨入為零),則必須找到漸變的具有相同數目和終止顏色的平均顏色,但是對於第一和最後一個終止顏色,則必須停止任意非零距離,剩下的顏色在它們之間保持相等的間隔。然後,它必須將梯度渲染為與平均顏色相等的純色影像。

如果重複徑向漸變的結束形狀的寬度為非零且高度為零,或者接近零,則在知道輸出設備的物理分辨率不足以忠實地實現渲染漸變,則實現必須找到漸層的平均色,並將漸層渲染為等於平均顏色的純色影像。

我們可以透過以下步驟來

找出漸層的平均顏色

#1、將列表定義為RGBA顏色的初始空列表,將總長度定義為第一個和最後一個顏色之間的距離。

2、對於每對相鄰的色塊,將重量定義為兩個色標之間距離的一半除以總長度。添加兩個條目列表,第一個通過表示RGBA中第一個顏色停止的顏色獲得,並按重量縮放所有組件,第二個通過第二個顏色停止以相同方式獲得。

3、依序對清單的項目求和以產生平均顏色,並將其傳回。

總結:以上就是這篇文章所介紹的全部內容,希望能對大家的學習有所幫助。

以上是css3的重複漸層是什麼?如何使用? (程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn