国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

通過構(gòu)建背景圖學(xué)習(xí)CSS徑向漸變

開發(fā) 前端
通過探索如何創(chuàng)建不同的背景圖案,我們涵蓋了radial-gradient()?的基礎(chǔ)知識。文章到此結(jié)束,但這僅僅是個開始,有興趣的可以繼續(xù)嘗試使用radial-gradient()構(gòu)建自己的模式。

本文翻譯自 Learn CSS radial-gradient by Building Background Patterns,作者:Temani Afif 略有刪改

如果你是CSS漸變的新手,你可能聽說過radial-gradient()。如果以前從未使用過它,那么這篇文章適合你。

在本教程中,我將重點介紹一些真實的和實用的示例,以解釋radial-gradient()背后的秘密以及它是如何工作的。

CSS漸變通常用于創(chuàng)建花哨的圖案,因此我選擇了其中一些僅使用radial-gradient()制作的圖案。通過構(gòu)建它們,我們將了解有關(guān)這些漸變的一切。

徑向漸變模式#1

讓我們從最基本的模式開始。

圖片圖片

看上面的圖并沒有什么復(fù)雜的,我們只是重復(fù)循環(huán)畫圓。圓、橢圓、半圓、四分之一圓等等我們都可以使用radial-gradient()創(chuàng)建。

為了簡單起見,我們可以考慮橢圓作為主要形狀,然后通過隱藏一些部分,我們可以得到半個圓,四分之一個圓等等。

我們放大上面的一個圓來具體分析。

圖片圖片

我們正在繪制一個尺寸為100px*100px的區(qū)域,該區(qū)域是我們的background-size。我們將考慮水平半徑等于50%,垂直半徑等于50%,形狀的中心將是區(qū)域的中心。

橢圓由兩個半徑定義,稱為“水平半徑”和“垂直半徑”。如果兩者相等(就像我們的例子一樣),我們得到的就是一個圓。

到此我們可以得到以下代碼:

html {
  background-image: radial-gradient(50% 50% at center, ???);
  background-size: 100px 100px   
}

我們定義了漸變的設(shè)置,現(xiàn)在我們需要定義顏色配置。我們將繪制一個不會接觸background-size區(qū)域邊緣的圓。從50%,我們將有80%的顏色,其余部分將是透明的。

html {
  background-image: radial-gradient(50% 50% at center, #c39f76 0% 80%,#0000 81% 100%);
  background-size: 100px 100px   
}

我們首先定義橢圓的中心和大小(50% 50% at center),然后用漸變色填充它(c39f76 0 80%,#0000 81% 100%)。在這種情況下,我們得到一個完整的圓,因為兩個半徑相等(50%和100px),并且因為我們在顏色之間沒有過渡。

我們有從0%到80%的主色和從81%到100%的透明色。(應(yīng)該使用80%而不是81%,但我們保留了一個小的過渡以避免鋸齒狀邊緣。)

我們可以通過刪除默認值來優(yōu)化上面的代碼,以獲得以下內(nèi)容:

html {
  background-image: radial-gradient(50% 50%,#c39f76 80%,#0000 81%);
  background-size: 100px 100px   
}

默認情況下位置是中心,我們可以從顏色配置中省略0%和100%。

以上并不是實現(xiàn)該模式的唯一語法。我們還可以使用以下方式:

html {
  background-image: radial-gradient(40% 40%,#c39f76 99%,#0000);
  background-size: 100px 100px   
}

我們減小了圓圈的半徑,增加主顏色的百分比。請注意這里沒有定義任何透明顏色的百分比,因為它應(yīng)該是100%(默認值),我們可以省略。

我們還可以使用以下方式:

html {
  background-image: radial-gradient(#c39f76 56%,#0000 57%);
  background-size: 100px 100px   
}

我們省略半徑,瀏覽器將使用默認設(shè)置,需要另一種顏色配置。不必記住所有的案例,只要堅持一種簡單的方法(我推薦第一種)。稍后將通過實踐,您將發(fā)現(xiàn)實現(xiàn)相同結(jié)果的不同方法,并且能夠優(yōu)化語法以減少所使用的代碼量。

徑向漸變模式#2

圖片圖片

這一次用了兩個radial-gradient()。我們可以使用盡可能多的背景層,這是一個很不錯的功能,它允許我們通過將不同的漸變與不同的配置相結(jié)合來構(gòu)建復(fù)雜的圖案。

圖片圖片

我們在這里保持相同的background-size,但我們使用不同的位置為我們的圈子。代碼如下:

html {
   background-image: 
     radial-gradient(?? at 25% 25%,??),
     radial-gradient(?? at 75% 75%,??);
   background-size: 100px 100px; 
}

對于半徑配置,如果我們做一些數(shù)學(xué)計算,我們可以發(fā)現(xiàn)我們需要25%使兩個圓接觸邊緣。我們可以使用這個代碼:

html {
   background-image: 
     radial-gradient(25% 25% at 25% 25%,#c39f76 80%,#0000 81%),
     radial-gradient(25% 25% at 75% 75%,#c39f76 80%,#0000 81%);
   background-size: 100px 100px; 
}

我們也可以使用closest-side代替25% 25%。這是一個奇怪的值,但它的意思是“使用一個半徑值,允許圓接觸最接近其中心的邊”。這個值很有用,可以使我們避免處理一些復(fù)雜的計算。

html {
   background-image: 
     radial-gradient(closest-side at 25% 25%,#c39f76 80%,#0000 81%),
     radial-gradient(closest-side at 75% 75%,#c39f76 80%,#0000 81%);
   background-size: 100px 100px; 
}

radial-gradient()為我們提供了其他3個類似的值(closest-corner、farthest-side和farthest-corner)。我們要么為半徑定義一個明確的大小,要么使用這些值,瀏覽器將根據(jù)特定規(guī)則自動查找半徑。

徑向漸變模式#3

圖片圖片

在第一和第二模式之后,我們現(xiàn)在可以嘗試更復(fù)雜的模式。這一次使用兩個漸變,使用兩個半圓的組合,不繪制整個圓。

下面是一個例子來幫助你理解這個謎題。我使用不同的顏色來輕松識別每個漸變。

圖片圖片

第一個漸變的中心位于50% 100%,而第二個漸變的中心位于50% 0%,但我們也可以使用top和bottom作為它們的等效值。

html {
   background-image: 
     radial-gradient(?? at top   ,??),
     radial-gradient(?? at bottom,??);
   background-size: 100px 100px; 
}

對于半徑,我們可以像以前一樣使用50% 50%,但這次我將嘗試不同的東西,并考慮50px,它是background-size的一半。

當(dāng)使用像素值或任何不同于百分比的單位時,我們只能指定一個半徑,瀏覽器將理解我們想要一個具有該半徑的圓。這是另一種定義形狀大小的方法,除了百分比和特定值。

我們的圓將接觸邊緣,最終的代碼如下:

html {
   background-image: 
     radial-gradient(50px at top   ,#c39f76 99%,#0000),
     radial-gradient(50px at bottom,#c39f76 99%,#0000);
   background-size: 100px 100px; 
}

上面的代碼并不是我們最終想要的模式,我們還需要最后的潤色。如果您檢查上一個插圖,您會注意到第二個漸變(綠色的)向右移動了一半大小。換句話說,我們需要更新它的background-position:

html {
   background-image: 
     radial-gradient(50px at top   ,#c39f76 99%,#0000),
     radial-gradient(50px at bottom,#c39f76 99%,#0000);
   background-position: 0 0, 50px 0;
   background-size: 100px 100px; 
}

我們可以通過使用簡寫版本來優(yōu)化代碼:

html {
   background: 
     radial-gradient(50px at top   ,#c39f76 99%,#0000),
     radial-gradient(50px at bottom,#c39f76 99%,#0000) 50px 0;
   background-size: 100px 100px; 
}

由于我們處理的是像素值,我們可以添加一個CSS變量,使代碼易于調(diào)整。

html {
   --s: 100px;
   background: 
     radial-gradient(calc(var(--s)/2) at top   ,#c39f76 99%,#0000),
     radial-gradient(calc(var(--s)/2) at bottom,#c39f76 99%,#0000) calc(var(--s)/2) 0;
   background-size: var(--s) var(--s); 
}

徑向漸變模式#4

圖片圖片

乍一看,這個背景看起來有點復(fù)雜。但如果我們能識別出正確的模式,那就很容易了。直覺上,你可能認為模式就是這個,你會很難找到漸變的方式。

圖片圖片

但事實并非如此真實的的模式是這個

圖片圖片

我們有4個圓圈放置在角落。代碼如下:

html {
   background: 
     radial-gradient(closest-corner at 20% 20%,#c39f76 98%,#0000),
     radial-gradient(closest-corner at 80% 20%,#c39f76 98%,#0000),
     radial-gradient(closest-corner at 20% 80%,#c39f76 98%,#0000),
     radial-gradient(closest-corner at 80% 80%,#c39f76 98%,#0000);
   background-size: 100px 100px;
}

closest-corner定義半徑的一個很好的用法。對于每個層,瀏覽器將繪制一個放置在特定位置的圓,并觸摸最近的邊緣。此設(shè)置允許我們使用一個簡單的顏色配置,同時有所需的溢出。

我們也可以使用closest-side,如下所示:

html {
   background: 
     radial-gradient(closest-side at 20% 20%,#c39f76 140%,#0000 141%),
     radial-gradient(closest-side at 80% 20%,#c39f76 140%,#0000 141%),
     radial-gradient(closest-side at 20% 80%,#c39f76 140%,#0000 141%),
     radial-gradient(closest-side at 80% 80%,#c39f76 140%,#0000 141%);
   background-size: 100px 100px;
}

上面代碼中唯一的新內(nèi)容是顏色配置,其中我使用的值大于100%。由于我使用closest-side來定義半徑,所以我需要比100%更大才能創(chuàng)建溢出的效果。

徑向漸變模式#5

圖片圖片

這是另一個非直觀的模式,可能會讓很多人感到困惑。你可能會把它看作是一個半滿的圓圈,但實際上它是兩個半圓的組合,如下所示:

圖片圖片

代碼如下:

html {
  background:
    radial-gradient(50% 50% at left ,#0000 70%,#c39f76 71% 80%,#0000 81%),
    radial-gradient(50% 50% at right,#c39f76 0 80%,#0000 81%);
  background-size: 100px 100px;
}

這一次我們將每一個使用不同的顏色配置。第一個有3種顏色(透明,然后是主顏色,然后再次透明)。第二個具有與我們在前面的示例中使用的相同的顏色配置。

這個圖案是一個很好的例子,展示了不同的顏色配置如何成為獲得復(fù)雜背景圖案的另一種方法。

徑向漸變模式#6

圖片圖片

這是另一個不容易識別的模式,但如果我們仔細觀察,我們可以看到兩個圓圈。

圖片圖片

大圓圈是我們的第一層。

圖片圖片

它是一個放置在區(qū)域中心的圓圈(像往常一樣用background-size定義),但這次顏色配置不像往常一樣。我使用透明的顏色為內(nèi)部和外部的主要顏色。值得注意的是,我們也有一個小的溢出,如下代碼所示使用了54%而不是50%來創(chuàng)建溢出。

html {
  background-image: radial-gradient(54% 54%,#0000 98%,#c39f76);
  background-size: 100px 100px;
}

第二層是一個較小的圓圈,以白色為主色。整個代碼將是:

html {
  background: 
    radial-gradient(10% 10%,#fff 98%,#0000),
    radial-gradient(54% 54%,#0000 98%,#c39f76) 50px 50px;
  background-size:100px 100px;
}

注意50px 50px的用法。與第三個圖案一樣,我們需要將其中一個層移動一半大小以獲得正確的結(jié)果-否則兩個圓將具有相同的中心,這不是預(yù)期的結(jié)果。

徑向漸變模式#7

這是我們結(jié)束前的最后一個模式:

圖片圖片

在最后一個例子中,我想介紹repeating-radial-gradient(),這是編寫radial-gradient()的另一種方式。

我們的模式如下:

圖片圖片

我們可以使用radial-gradient()來實現(xiàn)上面的功能,但是顏色配置會變得太長(透明,主顏色,透明,主顏色,等等)。

在這種情況下,顏色配置只不過是“透明,主色”的重復(fù)圖案,并且repeating-radial-gradient()是為了這樣的目的而制作的。

html {
  background-image: repeating-radial-gradient(#0000 0% 12%,#c39f76 13% 26% );
  background-size:100px 100px;
}

上面的意思是我們有12%的透明顏色,然后有13%的主要顏色(26-13=13),然后我們重復(fù)相同的步驟直到覆蓋整個區(qū)域。

最后

通過探索如何創(chuàng)建不同的背景圖案,我們涵蓋了radial-gradient()的基礎(chǔ)知識。文章到此結(jié)束,但這僅僅是個開始,有興趣的可以繼續(xù)嘗試使用radial-gradient()構(gòu)建自己的模式。

責(zé)任編輯:武曉燕 來源: 南城大前端
相關(guān)推薦

2023-02-21 08:40:55

2010-09-09 14:38:05

CSS背景圖片

2010-08-26 10:26:44

CSS

2023-03-31 14:51:46

CSS圖案背景開發(fā)

2022-01-07 07:35:28

CSS 技巧磨砂玻璃

2011-06-03 14:04:11

Android

2011-06-20 17:17:11

Qt Widget QWidget

2011-09-07 16:24:10

Qt Widget

2022-07-19 06:20:47

CSSbackground

2023-06-07 10:41:43

2010-08-18 13:27:15

CSS兼容IE6

2022-02-28 07:02:51

CSS二維碼前端

2022-11-02 16:06:54

ArkUIETS

2021-11-08 06:02:17

CSS 技巧代碼重構(gòu)

2023-05-08 09:08:33

CSS前端

2014-04-29 10:39:27

CSS3JavaScript

2023-06-05 09:28:32

CSS漸變

2010-09-07 11:05:34

CSS邊框

2021-04-16 05:54:05

CSS 文字動畫技巧

2025-05-13 00:00:05

點贊
收藏

51CTO技術(shù)棧公眾號

日韩在线黄色| 国内久久视频| 欧美久久一二区| 黄污在线观看| 国产精品国产自产拍高清av王其| 国产成人艳妇aa视频在线| 亚洲澳门在线| 人人做人人澡人人爽欧美| av在线成人| 中文字幕一精品亚洲无线一区| 免费电影网站在线视频观看福利| 欧美日韩国产中文| yiren22亚洲综合伊人22| 激情成人在线视频| 在线播放av片| 亚洲国产精品精华液网站 | 亚洲三级av| 揄拍成人国产精品视频| 欧美18av| 久久久999成人| 国产精品777777在线播放| 欧美成人午夜激情| 国产精品任我爽爆在线播放| 97在线观看视频国产| 麻豆一区二区麻豆免费观看| 国产91成人video| 啪啪亚洲精品| 91久久国产综合久久91精品网站| 婷婷亚洲五月色综合| 国产嫩草一区二区三区在线观看| 亚洲美女91| 伊人情人网综合| yourporn久久国产精品| 黄大色黄女片18第一次| 亚洲成人精品一区| 求av网址在线观看| 日韩精品高清在线观看| 4438五月综合| 国产免费一区视频观看免费| 亚洲一区二区动漫| www.av毛片| 一区av在线播放| av电影在线观看网址| 日韩经典中文字幕| 综合中文字幕| 99久re热视频这里只有精品6| 日韩精彩视频在线观看| 国产 日韩 亚洲 欧美| 樱桃视频在线观看一区| 精品51国产黑色丝袜高跟鞋| 色综合伊人色综合网| 精品国产99| 日本一区二区三区免费看| 国产成人欧美日韩在线电影| 亚洲欧洲日本精品| 91久久国产最好的精华液| 九九色在线视频| 欧美一区二区三区……| 国产一区二区三区成人欧美日韩在线观看 | 日日骚欧美日韩| 黄页免费在线观看视频| 亚洲制服丝袜av| 欧美xxxbbb| 高清欧美电影在线| 亚洲福利精品| 国产真实乱子伦| 欧美亚洲国产怡红院影院| 97人人做人人爽香蕉精品| 国产精品美女主播| 国产在线精品一区二区不卡了| 77777在线| 精品一区二区亚洲| 久久一区二区三区电影| 日韩视频一二三| 欧美日韩在线视频一区二区| 国产91在线精品| 国产伦一区二区三区色一情| 26uuu国产日韩综合| 婷婷在线视频观看| 高清一区二区三区日本久| 99国内精品| 色视频网站在线| 亚洲男人第一网站| 欧美在线观看天堂一区二区三区| 成人在线免费在线观看 | 中文在线www| 久久亚洲影音av资源网| 销魂美女一区二区三区视频在线| 欧美18—20岁hd第一次| 亚洲日本中文字幕免费在线不卡| 欧美日韩a区| 午夜网站在线观看| 中文字幕日韩欧美精品在线观看| 99国产一区| 亚洲成av人影片在线观看| 美女久久久久久久| 久久成人免费电影| 一二三中文字幕在线| 色综合久久久888| 国产69精品久久777的优势| 免费大片黄在线| 91最新在线免费观看| 国产精品污污网站在线观看| 欧美性理论片在线观看片免费 | 99久久婷婷国产综合精品电影√| 成年人观看网站| 国产视频一区在线| 日韩中文字幕av电影| 久蕉在线视频| 国产精品女视频| 影音先锋日韩在线| 又黄又爽无遮挡| 久久九九全国免费精品观看| 国产农村妇女毛片精品久久莱园子 | 亚洲午夜av久久乱码| 懂色av一区二区三区免费观看| 无码aⅴ精品一区二区三区浪潮| 日韩一级二级三级| **女人18毛片一区二区| 国产手机视频一区二区| 一级毛片在线播放| 国产激情999| 亚洲欧美偷拍三级| 日韩美女在线| 欧美三级午夜理伦三级老人| 欧美日本在线播放| 中文字幕亚洲精品乱码| 都市激情一区| 日韩av不卡播放| 国产精品久久久精品| 国产精品91xxx| 岛国在线视频网站| 中文字幕中文字幕在线中一区高清 | 日韩电影免费观看高清完整版在线观看| 日韩aⅴ视频一区二区三区| 欧美高清性hdvideosex| 国产精品一级| 俺来也官网欧美久久精品| 亚洲国产欧美一区二区三区不卡| 欧美成人video| 国产99久久久国产精品免费看| 成人影院大全| 激情五月宗合网| 欧美国产日韩免费| 亚洲男同1069视频| 午夜精品久久久久久久四虎美女版| 中文在线а天堂av| 粉嫩精品一区二区三区在线观看| 欧美精品色一区二区三区| 日韩—二三区免费观看av| 免费观看成人性生生活片| 欧美黑人经典片免费观看| 日韩免费观看高清完整版在线观看| 麻豆中文一区二区| 8av国产精品爽爽ⅴa在线观看| 一级黄色香蕉视频| 国产精品亚洲片夜色在线| 欧美性猛交xxxx乱大交退制版 | 91免费看片在线| 欧美日韩aaaaa| 国产成人免费xxxxxxxx| 99re8这里有精品热视频8在线| 天堂色在线视频| 国产91精品入口17c| 亚洲国产精品嫩草影院久久| 久久夜色精品国产噜噜av| 色婷婷一区二区三区| av在线free| 天天操天天摸天天爽| yellow视频在线观看一区二区 | 中文字幕有码在线视频| 无码毛片aaa在线| 2018日韩中文字幕| 在线电影一区二区三区| 99re热这里只有精品视频| 四虎成人精品永久免费av九九| 青青青草视频在线| 在线免费视频a| 久久久精品动漫| 爱福利视频一区| 色哟哟国产精品| 97久久超碰国产精品电影| 欧美一区影院| 电影一区二区三区久久免费观看| 青青青手机在线视频观看| 日本黄大片在线观看| 91影视免费在线观看| 中文字幕欧美精品日韩中文字幕| 日韩欧美在线网址| 久久久久高清精品| 日韩成人一区二区三区在线观看| 成人福利免费在线观看| 国产盗摄在线视频网站| 香蕉视频在线观看网站| 日韩网站在线免费观看| 成人在线免费观看一区| 国产69精品久久久| 亚洲欧洲午夜一线一品| 精品视频123区在线观看| 成人欧美一区二区三区小说|