radial-gradient徑向漸變實(shí)現(xiàn)球體

徑向漸變radial-gradient(shape size at position, start-color, ... , end-color)

  • shape:確定圓的類型宾袜。默認(rèn)為橢圓形ellipse获洲,也可設(shè)置為圓形circle涣旨〔酃鳎可通過at指定起始點(diǎn)位置。
  • size:定義漸變的大小酝掩,指定徑向漸變的半徑長度屿笼。默認(rèn)為farthest-corner從圓心到離圓心最遠(yuǎn)的角;closest-side從圓心到離圓心最近的邊骚灸;farthest-side糟趾、closest-corner
  • position:定義漸變的位置甚牲。與background-position 或者transform-origin類似义郑。如缺省,默認(rèn)為中心點(diǎn)丈钙。

1.漸變的起始位置非驮,默認(rèn)為中心點(diǎn):

.radial-gradient{
  width: 200px;
  height: 100px;
  background: radial-gradient(circle, red, green, rgba(43,130,255,0.4));
}
image.png

使用at設(shè)置漸變的起始位置。以左上角作為坐標(biāo)原點(diǎn)雏赦。

.radial-gradient{
  width: 200px;
  height: 100px;
  background: radial-gradient(circle at 50px 50px, red, green, rgba(43,130,255,0.4));
}
image.png

也可用%設(shè)置

.radial-gradient{
  width: 200px;
  height: 100px;
  background: radial-gradient(circle at 30% 50%, red, green, rgba(43,130,255,0.4));
}
image.png

2.指定漸變顏色斷點(diǎn)劫笙。默認(rèn)顏色是均勻分布在0 - 100%區(qū)域的芙扎。

background: radial-gradient(circle, red, green, blue, red);

0 - 25%: red; 25% - 50%: green; 50% - 75%: blue; 75% - 100%: red;

顏色均勻分布

設(shè)置斷點(diǎn)后的效果。

  background: radial-gradient(circle, red, green 10%, blue 40%, red);

0 - 10%: red; 10% - 40%: green; 40% - 100%: 均勻的分布 bule 和 red

按設(shè)置的斷點(diǎn)分布.png

??

下邊是使用徑向漸變radial-gradient來實(shí)現(xiàn)的填大。

<div class="radial-gradient"></div>

.radial-gradient{
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 55%, rgba(240,245,255, 0.9), rgba(240,245,255, 0.9) 40%, rgba(225,238,255,0.8) 60%, rgba(43,130,255,0.4));
}

先設(shè)置圓的背景色漸變戒洼,設(shè)置了漸變的起始位置,漸變的顏色允华。


漸變背景色.png

然后通過偽類給圓的右上角再次設(shè)置白色的漸變背景色圈浇,使視覺效果更立體。(具怎么設(shè)置取決于設(shè)計(jì))

.radial-gradient:before {
  content: '';
  position: absolute;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle at 180% -100%,rgba(255,255,255,0) 0,rgba(255,255,255,0) 46%,rgba(255,255,255,0.8) 50%,rgba(255,255,255,0.8) 58%,rgba(255,255,255,0) 60%,rgba(255,255,255,0) 100%)
} 
右上角設(shè)置漸變

同樣靴寂,給左下角設(shè)置漸變磷蜀。(取決于設(shè)計(jì))

.radial-gradient:after {
  top: 0;
  width: 180px;
  height: 180px;
  content: '';
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle at 10% 190%,rgba(255,255,255,0) 0,rgba(255,255,255,0) 46%,rgba(255,255,255,0.8) 50%,rgba(255,255,255,0.8) 58%,rgba(255,255,255,0) 60%,rgba(255,255,255,0) 100%)
}
徑向漸變實(shí)現(xiàn)的球體.png

下邊是給球體加了動(dòng)畫:

<div class="radial-gradient1"></div>
<div class="radial-gradient2"></div>

.radial-gradient1{
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 55%, rgba(240,245,255, 0.9), rgba(240,245,255, 0.9) 40%, rgba(225,238,255,0.8) 60%, rgba(43,130,255,0.4));
  animation: bubble-anim 5s linear infinite
}

@keyframes bubble-anim{
  0% {top: 0; left: 5%}
  10% {top: 10%; left: 10%}
  20% {top: 20%; left: 15%}
  30% {top: 30%; left: 20%}
  40% {top: 40%}
  50% {top: 50%}
  60% {top: 60%}
  70% {top: 70%}
  80% {top: 80%}
  90% {top: 90%}
  100% {top: 100%; left: 30%}
}

.radial-gradient1:before {
  content: '';
  position: absolute;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle at 180% -100%,rgba(255,255,255,0) 0,rgba(255,255,255,0) 46%,rgba(255,255,255,0.8) 50%,rgba(255,255,255,0.8) 58%,rgba(255,255,255,0) 60%,rgba(255,255,255,0) 100%)
} 

.radial-gradient1:after {
  top: 0;
  width: 180px;
  height: 180px;
  content: '';
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle at 10% 190%,rgba(255,255,255,0) 0,rgba(255,255,255,0) 46%,rgba(255,255,255,0.8) 50%,rgba(255,255,255,0.8) 58%,rgba(255,255,255,0) 60%,rgba(255,255,255,0) 100%)
}

.radial-gradient2{
  position: absolute;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 55%, rgba(240,245,255, 0.9), rgba(240,245,255, 0.9) 40%, rgba(225,238,255,0.8) 60%, rgba(43,130,255,0.4));
  animation: bubble-anim2 5s linear infinite
}

@keyframes bubble-anim2{
  0% {bottom: 0}
  10% {bottom: 10%; left: 10%}
  20% {bottom: 20%; left: 20%}
  30% {bottom: 30%; left: 30%}
  40% {bottom: 45%; left: 40%}
  50% {bottom: 50%; left: 50%}
  60% {bottom: 65%; left: 60%}
  70% {bottom: 75%; left: 70%}
  80% {bottom: 80%}
  90% {bottom: 90%}
  100% {bottom: 100%; left: 50%}
}

.radial-gradient2:before {
  content: '';
  position: absolute;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle at 10% -120%,rgba(255,255,255,0) 0,rgba(255,255,255,0) 46%,rgba(255,255,255,0.8) 50%,rgba(255,255,255,0.8) 58%,rgba(255,255,255,0) 60%,rgba(255,255,255,0) 100%)
} 

.radial-gradient2:after {
  top: 0;
  width: 180px;
  height: 180px;
  content: '';
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle at 180% 100%,rgba(255,255,255,0) 0,rgba(255,255,255,0) 46%,rgba(255,255,255,0.8) 50%,rgba(255,255,255,0.8) 58%,rgba(255,255,255,0) 60%,rgba(255,255,255,0) 100%)
}

練習(xí):
徑向漸變實(shí)現(xiàn)內(nèi)陷半圓:

div {
    width: 520px;
    height: 172px;
    background: #58a;
    background: radial-gradient(circle at 500px 0, transparent 15px, #58a 16px) center top,
    radial-gradient(circle at 500px 86px, transparent 15px, #58a 16px) center bottom ;
    background-size: 100% 50%; 
    background-repeat: no-repeat;    
}
image.png

參考文章:
你想不到的!CSS 實(shí)現(xiàn)的各種球體效果【附在線演示】
10個(gè)demo示例學(xué)會(huì)CSS3 radial-gradient徑向漸變

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末百炬,一起剝皮案震驚了整個(gè)濱河市蠕搜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌收壕,老刑警劉巖妓灌,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蜜宪,居然都是意外死亡虫埂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門圃验,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掉伏,“玉大人,你說我怎么就攤上這事澳窑「ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵摊聋,是天一觀的道長鸡捐。 經(jīng)常有香客問我,道長麻裁,這世上最難降的妖魔是什么箍镜? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮煎源,結(jié)果婚禮上色迂,老公的妹妹穿的比我還像新娘。我一直安慰自己手销,他們只是感情好歇僧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著锋拖,像睡著了一般诈悍。 火紅的嫁衣襯著肌膚如雪埂淮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天写隶,我揣著相機(jī)與錄音倔撞,去河邊找鬼。 笑死慕趴,一個(gè)胖子當(dāng)著我的面吹牛痪蝇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播冕房,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼躏啰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了耙册?” 一聲冷哼從身側(cè)響起给僵,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎详拙,沒想到半個(gè)月后帝际,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡饶辙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年蹲诀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弃揽。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡脯爪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出矿微,到底是詐尸還是另有隱情痕慢,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布涌矢,位于F島的核電站掖举,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蒿辙。R本人自食惡果不足惜拇泛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一滨巴、第九天 我趴在偏房一處隱蔽的房頂上張望思灌。 院中可真熱鬧,春花似錦恭取、人聲如沸泰偿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耗跛。三九已至裕照,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間调塌,已是汗流浹背晋南。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留羔砾,地道東北人负间。 一個(gè)月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像姜凄,于是被迫代替她去往敵國和親政溃。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容