web前端入門到實戰(zhàn):CSS 陰影動畫優(yōu)化技巧_第1頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、web前端入門到實戰(zhàn):css 陰影動畫優(yōu)化技巧box-shaodw 在我們的工作中用法以及越來越多,陪同陰影的動畫或多或少都有一點。假設(shè),我們有下面這樣一個盒子:div width: 100px;height: 100px;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);希翼 hover 的時候,盒陰影從 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) 過渡到 box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3)。box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) -

2、> box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3)ok,最容易的辦法固然是:div:hover width: 100px;box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);由于過渡動畫是在兩個不同的盒陰影狀態(tài)在發(fā)生,所以在過渡動畫的時光內(nèi),掃瞄器會不斷的重繪盒陰影。而又因為陰影屬于耗性能樣式,所以這種動畫給人的感覺多少有些卡頓。這里有一個小技巧可以優(yōu)化這種狀況下的陰影動畫。用法偽元素及透亮度舉行優(yōu)化用法偽元素及透亮度舉行優(yōu)化,我們給上述元素添加一個 before 偽元素,大小與父 div 全都,并且提前給這個元素添加好

3、所需要的終于的盒陰影狀態(tài),但是元素的透亮度為 0。div position: relative;width: 100px;height: 100px;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);div:before content: ""position: absolute;top: 0;left: 0;width: 100%;height: 100%;box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);opacity: 0;然后,在 hover 的時候,我們只需要將偽元素的透亮度從 0

4、設(shè)置為 1 即可。div:hover:before opacity: 1;這樣做的益處是,實際在舉行的陰影變幻,其實只是透亮度的變幻,而沒有對陰影舉行不斷的重繪,有效的提升了陰影動畫的流暢程度,讓它看起來越發(fā)絲滑。為什么對透亮度 opacity 舉行動畫要比對 box-shadow 舉行動畫性能更好呢?可以看看這里這張表格,列舉了不同屬性變換對頁面重排、重繪的影響:存在的問題,另外一種計劃原文中上述這個計劃其實并不算太完善,由于終于的效果是兩個陰影的疊加效果,可能會在整體的感覺上陰影色彩更深了一點。所以需要對終于狀態(tài)的陰影舉行微調(diào)一下,減弱一點效果,盡量讓兩個陰影的疊加效果與單一一個陰影效果相

5、近。固然,我們可以再對上述計劃舉行優(yōu)化,我們再用法一個 :after 偽元素,:after 偽元素設(shè)置為初始狀態(tài)且透亮度為1,:before 偽元素設(shè)置為末尾狀態(tài)且透亮度為0:div position: relative;width: 100px;height: 100px;div:before box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);opacity: 0;div:after box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);實際 hover 的時候,對兩個偽元素舉行一顯一隱,這樣終于的效果惟獨一個陰影效果,沒有陰影的疊加,與挺直對陰

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論