乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      如何使用CSS3/SCSS實現(xiàn)逼真的車窗雨滴效果

       zhangxiansen 2016-08-09
      在天氣預(yù)報類的Web移動應(yīng)用中,常常需要實現(xiàn)屏幕的雨滴效果,表示陰雨天氣。在天氣預(yù)報類的Web移動應(yīng)用中,常常需要實現(xiàn)屏幕的雨滴效果,表示陰雨天氣。


      感覺上比較神奇,其實想通了,這個效果的實現(xiàn)只需要一點物理知識和CSS3的簡單變換。

      實現(xiàn)一個小雨滴

      首先雨滴是一個個小的橢圓形元素:

      1. .raindrop {  
      2.   width: 8px;  
      3.   height: 7px;  
      4.   border-radius: 100%;    
      5. }  
      其次雨滴是一個個凸透鏡,能折射出遠處的景色,遠景所處位置遠大于2倍焦距,成倒立、縮小的實像。

      “倒立”的效果可以通過旋轉(zhuǎn)180°來實現(xiàn),“縮小”的效果我們這里通過設(shè)置背景圖片的尺寸來達到(下面把背景圖縮小到全屏的5%并居中)。

      1. .raindrop {  
      2.   position: absolute;  
      3.   background-image: url("http://i./xQdYC7x.jpg");  
      4.   background-size: 5vw 5vh;  
      5.   background-position: 50%;  
      6.   transform: rotate(180deg) rotateY(0);  
      7. }  
      這樣我們就得到了一個小雨點。

      隨機雨滴

      接著我們要創(chuàng)建一些隨機分布的雨點對象,假如只有幾個,我們可以手動編寫CSS代碼,但如果有幾十個,直接寫CSS代碼的效率和可維護性就很差了。

      我們使用SCSS的random方法,來隨機微調(diào)雨點對象的尺寸和絕對位置。

      1. @for $i from 1 through $raindrops{  
      2.   
      3.     // 生成0到1之間的隨機數(shù)  
      4.     $x:random();  
      5.     $y:random();  
      6.   
      7.     // 隨機尺寸和位置  
      8.     $drop-width:5px+random(11);  
      9.     $drop-stretch:0.7+(random()*0.5);  
      10.     $drop-height:$drop-width*$drop-stretch;  
      11.     .raindrop:nth-child(#{$i}){  
      12.         // multiply the random position value by the container's size  
      13.         left:$x * $width;  
      14.         top:$y * $height;  
      15.         width:$drop-width;  
      16.         height:$drop-height;  
      17.         background-position:percentage($x) percentage($y);  
      18.     }  
      19. }  
      效果增強

      我們還可以給雨滴添加一點閃光的視覺效果,通過CSS3濾鏡來實現(xiàn):

      1. .raindrop {  
      2.     filter: brightness(1.2);  
      3.     -webkit-filter: brightness(1.2);  
      4. }  
      最后我們還可以給每個雨滴添加邊界效果。這里略過不詳述。

      在線試試

      你可以通過踏得網(wǎng)的在線實例自己試試看(編譯CSS時需稍等一會兒)。

      你還可以基于該作品添加CSS3動畫(添加一些@keyframes即可),實現(xiàn)下雨的效果。

      但是如果要實現(xiàn)大量雨滴動畫,考慮到性能,你應(yīng)該使用Canvas,并需要處理碰撞檢測、雨滴融合,你可以閱讀如下文章:

      如何基于Canvas來模擬真實雨景

      注意:如果離線測試以上代碼,請自行添加瀏覽器前綴或prefixfree腳本。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多