欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用JS配合CSS實(shí)現(xiàn)Windows Phone中的磁貼效果

OSChina   發(fā)布時(shí)間:2015-07-01 18:22:16   作者:佚名   我要評(píng)論
這篇文章主要介紹了使用JS配合CSS實(shí)現(xiàn)Windows Phone中的磁貼效果,JS部分則使用到了JQuery庫,需要的朋友可以參考下

Windows Phone的tile設(shè)計(jì)的美麗對(duì)我來說有余音繞梁的效果。我從來不知道優(yōu)雅的方塊盒子布局能給我深刻的印象。因此我嘗試在web里用CSS和Jquery去實(shí)現(xiàn)這種tile設(shè)計(jì)。我已嘗試Tile Flip動(dòng)畫效果,它能展示兩種不同的信息一個(gè)在tile的前端而另外一個(gè)就在后端。 

Demo Download
201571182711748.png (520×271)

首先我們要為tile創(chuàng)建和下面圖片的效果一樣的HTML的內(nèi)容。每個(gè)tile包含了兩個(gè)分別在前后的div。他們都能包含要展示的信息。下面的html代碼生成所需的tile布局。
201571182734002.png (248×249)

tile設(shè)計(jì)包含了CSS的類名

CSS Code復(fù)制內(nèi)容到剪貼板
  1. <div class="container">   
  2.     <div class="tile tile-normal">   
  3.         <div class="front">   
  4.             <img class="icon" src="ie.PNG" />   
  5.         </div>   
  6.        <div class="back">   
  7.             Internet Explorer   
  8.        </div>   
  9.     </div>   
  10.     <div class="container-small">   
  11.         <div class="tile tile-small">   
  12.             <div class="front">1</div>   
  13.             <div class="back">Tile 1</div>   
  14.         </div>   
  15.         <div class="tile tile-small">   
  16.             <div class="front">2</div>   
  17.             <div class="back">Tile 2</div>   
  18.         </div>   
  19.         <div class="tile tile-small">   
  20.             <div class="front">3</div>   
  21.             <div class="back">Tile 3</div>   
  22.         </div>   
  23.         <div class="tile tile-small">   
  24.             <div class="front">4</div>   
  25.             <div class="back">Tile 4</div>   
  26.         </div>   
  27.     </div>   
  28.     <div class="tile tile-wide">   
  29.         <div class="front">   
  30.            Windows Phone Tiles using CSS and jQuery   
  31.         </div>   
  32.         <div class="back">   
  33.            This is a wide tile   
  34.         </div>   
  35.     </div>   
  36. </div>  

CSS關(guān)心的是tile的大小和對(duì)齊。(請(qǐng)下載源代碼來查看)。這里我要對(duì)CSS重要部分進(jìn)行高亮處理,這部分在tile旋轉(zhuǎn)的時(shí)候會(huì)創(chuàng)建透明師視圖。 

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .tile {   
  2.     float:left;   
  3.     font-family'Roboto'sans-serif;   
  4.     font-size:20px;   
  5.     margin-left:2px;   
  6.     margin-top:2px;   
  7.         
  8.     -moz-perspective:500px;   
  9.     -webkit-perspective:500px;   
  10.     -o-perspective:500px;   
  11.     -ms-perspective:500px;   
  12.     perspective:500px;   
  13. }   

下面的JQuery代碼關(guān)系Tile Flip。這里我為動(dòng)畫使用了 Transit,它是JQuery的一個(gè)擴(kuò)展。它確實(shí)是對(duì)平滑動(dòng)畫有好處,同時(shí)提供大量在我們這種情況下非常需要的易用的技術(shù),這普通易用的技術(shù)能讓Tile Flip看起來想兩塊動(dòng)畫。

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. $(document).ready(function () {   
  2.         
  3.     $(".back").hide();   
  4.         
  5.     $(".tile").mouseenter(function () {   
  6.         $(this).children(".front").transit( {   
  7.             "rotateX":"90deg"  
  8.         },500,"easeInCirc",function () {   
  9.             var back;   
  10.             $(this).hide();   
  11.             back = $(this).siblings(".back");   
  12.             back.css({   
  13.                 "rotateX" : "-90deg"  
  14.             });   
  15.             back.show();   
  16.             back.transit( {   
  17.                 "rotateX":"0deg"  
  18.             },500,"easeOutCirc");   
  19.         });   
  20.             
  21.     });   
  22.         
  23.     $(".tile").mouseleave(function () {   
  24.         $(this).children(".back").transit( {   
  25.             "rotateX" : "90deg"  
  26.         },500,"easeInCirc",function () {   
  27.             var front;   
  28.             $(this).hide();   
  29.             front = $(this).siblings(".front");   
  30.             front.css({   
  31.                 "rotateX" : "-90deg"  
  32.             });   
  33.             front.show();   
  34.             front.transit({   
  35.                 "rotateX" : "0deg"  
  36.             },500,"easeOutCirc");   
  37.         });   
  38.     });   
  39. });  

一開始,所有的圖塊都是隱藏的,rotateX是90°,前面的部分是可以看到的,rotateX是0°。所有的圖塊在鼠標(biāo)指針進(jìn)入的時(shí)候翻過來,在鼠標(biāo)指針出來的時(shí)候又翻回來。 
201571182755614.png (503×243)

 上面的圖解釋了在鼠標(biāo)指針進(jìn)入時(shí)調(diào)用的函數(shù)這個(gè)過程是怎么進(jìn)行的,鼠標(biāo)指針出來的時(shí)候的工作原理和這個(gè)差不多。

這個(gè)設(shè)計(jì)使用的是在最新版本的瀏覽器才有的CSS 遠(yuǎn)景屬性。我已經(jīng)測試過它了,發(fā)現(xiàn)在火狐20.0和chrome26.0上可以運(yùn)行。最好是你在chrome里有硬件圖像渲染。如果你的瀏覽器不支持遠(yuǎn)景屬性的話,它在正交直線視圖上看起來還是有效的。

相關(guān)文章

最新評(píng)論