如果你想要畫出一個(gè)蘋果肯定需要給他加上顏色了,就用到了以下的知識(shí)秀睛,和以前所學(xué)有一點(diǎn)點(diǎn)不同的是,這次用的是一個(gè)新的屬性RGBA
RGBA: RGB的基礎(chǔ)上多了控制alpha透明度的參數(shù)。
R登疗、G、B三個(gè)參數(shù),正整數(shù)值的取值范圍為: 0 - 255
百分?jǐn)?shù)值取值范圍為:0.0% - 100.0%辐益。
A參數(shù)断傲,取值在0~1之間,不可為負(fù)值智政。
如果說rgba是制作透明色(透明背景色认罩、透明邊框色、透明前景色等)续捂,有的人可能會(huì)說這不和opacity差不多嘛垦垂。opacity制作背景色通常用到,可是要用他來制作邊框色或都說前景色的話牙瓢,那他就只能在邊上站著了乔外,有心無力呀
效果中我們可以看出,他們相同之處就是背景色完全是一樣的一罩,但區(qū)別就是一直讓大家覺得頭痛的問題杨幼,那就是opacity后代元素會(huì)隨著一起具有透明性,所以我們Opacity中的字隨著透明值下降越來越看不清楚聂渊,而RGBA不具有這樣的問題差购。
從我們上面的實(shí)例中我們也知道,RGBA比元素設(shè)置CSS的透明度更好汉嗽,因?yàn)閱为?dú)的顏色可以在不影響整個(gè)元素的透明度欲逃,他不會(huì)影響到元素其他的屬性,比如說邊框饼暑,字體同時(shí)也不會(huì)影響到其他元素的相關(guān)透明度稳析。
在RGBA還沒有出世前,如何解決其后代元素會(huì)受其影響這個(gè)問題的呢弓叛?為了解決這樣的問題我們需要增加一個(gè)空的div來專門放置使用透明的背景彰居,然后通過使用絕對(duì)定位來實(shí)現(xiàn)我們需要的結(jié)果。
代碼和上面的差不多撰筷,在這里我就偷個(gè)懶不寫了陈惰。
ok,RGBA就說到這里毕籽,想做一張立體的蘋果抬闯,單單有顏色肯定是不夠的,還需要漸變关筒。
需要加一些額外的參數(shù)
首先是陰影漸變的位置形狀
<shape>:主要用來定義徑向漸變的形狀溶握。其主要包括兩個(gè)值“circle”和“ellipse”:
circle:如果<size>和<length>大小相等,那么徑向漸變是一個(gè)圓形蒸播,也就是用來指定圓形的徑向漸變
ellipse:如果<size>和<length>大小不相等睡榆,那么徑向漸變是一個(gè)橢圓形,也就是用來指定橢圓形的徑向漸變。
可以用百分?jǐn)?shù)來確定圓心的位置
還有陰影漸變?cè)诤翁幫V?br>
<size>:主要用來確定徑向漸變的結(jié)束形狀大小肉微。如果省略了匾鸥,其默認(rèn)值為“farthest-corner”〉锬桑可以給其顯式的設(shè)置一些關(guān)鍵詞勿负,主要有:
closest-side:指定徑向漸變的半徑長度為從圓心到離圓心最近的邊;
closest-corner:指定徑向漸變的半徑長度為從圓心到離圓心最近的角劳曹;
farthest-side:指定徑向漸變的半徑長度為從圓心到離圓心最遠(yuǎn)的邊奴愉;
farthest-corner:指定徑向漸變的半徑長度為從圓心到離圓心最遠(yuǎn)的角;
準(zhǔn)備工作差不多了铁孵,該開始畫蘋果了
首先把蘋果拆分成幾個(gè)部分
然后在body里面建幾個(gè)相應(yīng)的DIV(在這里我就用c1锭硼,c2簡單命名了,實(shí)在不知道取什么名字了)
d4是背景 c1是整個(gè)蘋果和陰影1 2 c2是蘋果坑里面3個(gè)陰影 c3是投影
整體的框架有了蜕劝,然后就該開始寫里面的CSS了
這里要注意z-index的層疊順序檀头,定位子元素要用相對(duì)定位,否則你想把窗口小一點(diǎn)的話岖沛,里面的投影啊之類的就會(huì)跑偏的
想做出立體的效果用一個(gè)漸變是不夠的暑始,多用幾個(gè)層疊在一起,效果更好哦婴削!