在天氣預(yù)報(bào)類的Web移動(dòng)應(yīng)用中,常常需要實(shí)現(xiàn)屏幕的雨滴效果,表示陰雨天氣。在天氣預(yù)報(bào)類的Web移動(dòng)應(yīng)用中,常常需要實(shí)現(xiàn)屏幕的雨滴效果,表示陰雨天氣。 感覺上比較神奇,其實(shí)想通了,這個(gè)效果的實(shí)現(xiàn)只需要一點(diǎn)物理知識(shí)和CSS3的簡(jiǎn)單變換。 實(shí)現(xiàn)一個(gè)小雨滴首先雨滴是一個(gè)個(gè)小的橢圓形元素:
“倒立”的效果可以通過(guò)旋轉(zhuǎn)180°來(lái)實(shí)現(xiàn),“縮小”的效果我們這里通過(guò)設(shè)置背景圖片的尺寸來(lái)達(dá)到(下面把背景圖縮小到全屏的5%并居中)。
隨機(jī)雨滴接著我們要?jiǎng)?chuàng)建一些隨機(jī)分布的雨點(diǎn)對(duì)象,假如只有幾個(gè),我們可以手動(dòng)編寫CSS代碼,但如果有幾十個(gè),直接寫CSS代碼的效率和可維護(hù)性就很差了。 我們使用SCSS的random方法,來(lái)隨機(jī)微調(diào)雨點(diǎn)對(duì)象的尺寸和絕對(duì)位置。
效果增強(qiáng)我們還可以給雨滴添加一點(diǎn)閃光的視覺效果,通過(guò)CSS3濾鏡來(lái)實(shí)現(xiàn):
在線試試你可以通過(guò)踏得網(wǎng)的在線實(shí)例自己試試看(編譯CSS時(shí)需稍等一會(huì)兒)。 你還可以基于該作品添加CSS3動(dòng)畫(添加一些@keyframes即可),實(shí)現(xiàn)下雨的效果。 但是如果要實(shí)現(xiàn)大量雨滴動(dòng)畫,考慮到性能,你應(yīng)該使用Canvas,并需要處理碰撞檢測(cè)、雨滴融合,你可以閱讀如下文章: 注意:如果離線測(cè)試以上代碼,請(qǐng)自行添加瀏覽器前綴或prefixfree腳本。
|
|
來(lái)自: zhangxiansen > 《待分類》