使用HTML 5/CSS3五步快速製做便籤貼特效

 

本篇文字將展現給你的是,如何利用HTML5/CSS3,僅用5步就能夠製做便籤貼效果的HTML頁面,效果圖以下:

(注:圖裏的文字純屬杜撰,搞笑目的,若有雷同,純屬巧合,謝謝!)css

 

 

注:該效果能夠在Safari, Chrome,Firefox和Opera在看到效果,IE上因爲對HTML5的支持不徹底,因此看不出效果。html

第一步:建立基本HTML和正方形web

首先添加基本的HTML結構以及構建基本的正方形,代碼以下:面試

  1. <ul> 
  2.        <li><a href="#"> 
  3.            <h2>Dudu:</h2> 
  4.            <p>最近咋沒有美女發帖呢?我必定給個頭條推薦,recommend!recommend!</p> 
  5.        </a></li> 
  6.        <li><a href="#"> 
  7.            <h2>湯姆大叔:</h2> 
  8.            <p>Team的一個成員去了Microsoft作SDE3,又得hire new member了</p> 
  9.        </a></li> 
  10.        <li><a href="#"> 
  11.            <h2>技術弟弟:</h2> 
  12.            <p>O2DS和我翻譯的書是同樣,我必定要比他翻得快, 晚上加班翻,fast! fast! fast!</p> 
  13.        </a></li> 
  14.        <li><a href="#"> 
  15.            <h2>Artech:</h2> 
  16.            <p>WCF的帖子真是少,看來我得多發點帖子讓你們學習呢</p> 
  17.        </a></li> 
  18.        <li><a href="#"> 
  19.            <h2>吉日嘎拉:</h2> 
  20.            <p>將權限管理、工做流管理作到我能力的極致,一我的只能作好那麼不多的幾件事情</p> 
  21.        </a></li> 
  22.        <li><a href="#"> 
  23.            <h2>某武林高手:</h2> 
  24.            <p>低於25000塊的面試不再去了,它grandma的</p> 
  25.        </a></li> 
  26.    </ul> 

每一個note都加一個href鏈接,主要是爲了支持鍵盤訪問,CSS代碼以下:api

  1. *{    
  2.     margin:0;    
  3.     padding:0;    
  4.   }    
  5.   body{    
  6.     font-family:arial,sans-serif;    
  7.     font-size:100%;    
  8.     margin:3em;    
  9.     background:#666;    
  10.     color:#fff;    
  11.   }    
  12.   h2,p{    
  13.     font-size:100%;    
  14.     font-weight:normal;    
  15.   }    
  16.   ul,li{    
  17.     list-style:none;    
  18.   }    
  19.   ul{    
  20.     overflow:hidden;    
  21.     padding:3em;    
  22.   }    
  23.   ul li a{    
  24.     text-decoration:none;    
  25.     color:#000;    
  26.     background:#ffc;    
  27.     display:block;    
  28.     height:10em;    
  29.     width:10em;    
  30.     padding:1em;    
  31.   }    
  32.   ul li{    
  33.     margin:1em;    
  34.     float:left;    
  35.   } 

效果以下:瀏覽器

 

 

第二步:陰影和手寫草體字學習

這一步,是咱們要實現正方形的陰影效果,而且將字體改成草體(僅限英文),因爲google提供了Font API的支持,因此咱們能夠直接使用了,首先添加對Google API的調用:字體

  1. <link href="http://fonts.googleapis.com/css?family=Reenie+Beanie:regular" rel="stylesheet" type="text/css"> 

而後設置引用這個字體:動畫

  1. ul li h2 
  2.        {  
  3.            font-size140%;  
  4.            font-weightbold;  
  5.            padding-bottom10px;  
  6.        }  
  7.        ul li p  
  8.        {  
  9.            font-family"Reenie Beanie" ,arial,sans-serif,微軟雅黑;  
  10.            font-size110%;  
  11.        } 

關於陰影,因爲各個瀏覽器還都不徹底支持,因此須要分別處理,代碼以下:google

  1. ul li a  
  2.      {  
  3.          text-decorationnone;  
  4.          color#000;  
  5.          background#ffc;  
  6.          displayblock;  
  7.          height10em;  
  8.          width10em;  
  9.          padding1em/* Firefox */ 
  10.          -moz-box-shadow: 5px 5px 7px rgba(33,33,33,1); /* Safari+Chrome */ 
  11.          -webkit-box-shadow: 5px 5px 7px rgba(33,33,33,.7); /* Opera */ 
  12.          box-shadow: 5px 5px 7px rgba(33,33,33,.7);  
  13.      } 

效果以下:

 

 

第三步:傾斜正方形

爲了讓正方形傾斜,咱們須要在li->a裏添加以下代碼:

  1. ul li a{    
  2.    -webkit-transform:rotate(-6deg);    
  3.    -o-transform:rotate(-6deg);    
  4.    -moz-transform:rotate(-6deg);    
  5.  } 

可是爲了能讓正方形隨機傾斜,而不是所有都傾斜,咱們須要使用新的CSS3選擇器,讓正方形在每2個傾斜4個deg,每3個傾斜負3個deg,每5個傾斜5個deg:

  1. ul li:nth-child(even) a{    
  2.      -o-transform:rotate(4deg);    
  3.      -webkit-transform:rotate(4deg);    
  4.      -moz-transform:rotate(4deg);    
  5.      position:relative;    
  6.      top:5px;    
  7.    }    
  8.    ul li:nth-child(3n) a{    
  9.      -o-transform:rotate(-3deg);    
  10.      -webkit-transform:rotate(-3deg);    
  11.      -moz-transform:rotate(-3deg);    
  12.      position:relative;    
  13.      top:-5px;    
  14.    }    
  15.    ul li:nth-child(5n) a{    
  16.      -o-transform:rotate(5deg);    
  17.      -webkit-transform:rotate(5deg);    
  18.      -moz-transform:rotate(5deg);    
  19.      position:relative;    
  20.      top:-10px;    
  21.    } 

效果以下:

 

第四步:Hover和Focus時放縮正方形

想在hover和focus的時候達到縮放的效果,咱們須要添加以下代碼:

  1. ul li a:hover,ul li a:focus{    
  2.   -moz-box-shadow:10px 10px 7px rgba(0,0,0,.7);    
  3.   -webkit-box-shadow: 10px 10px 7px rgba(0,0,0,.7);    
  4.   box-shadow:10px 10px 7px rgba(0,0,0,.7);    
  5.   -webkit-transform: scale(1.25);    
  6.   -moz-transform: scale(1.25);    
  7.   -o-transform: scale(1.25);    
  8.   position:relative;    
  9.   z-index:5;    
  10. }  

設置z-index爲5是爲了讓正方形在放大的時候蓋住其它的正方形,同時由於也設置了focus,因此也支持Tab鍵切換訪問,效果以下:

 

 

第五步:平滑過渡和添加顏色

第四步的特效,看起來有些生硬,咱們能夠添加Transition來達到平滑動畫的效果,另外顏色比較單一,咱們能夠設置一下不一樣的顏色,首先在ul->li->a裏添加Transition:

  1. -moz-transition:-moz-transform .15s linear;    
  2.  -o-transition:-o-transform .15s linear;    
  3.  -webkit-transition:-webkit-transform .15s linear;   

而後在even和3n裏定義不一樣的顏色:

  1. ul li:nth-child(even) a{    
  2.       -o-transform:rotate(4deg);    
  3.       -webkit-transform:rotate(4deg);    
  4.       -moz-transform:rotate(4deg);    
  5.       position:relative;    
  6.       top:5px;    
  7.       background:#cfc;    
  8.     }    
  9.     ul li:nth-child(3n) a{    
  10.       -o-transform:rotate(-3deg);    
  11.       -webkit-transform:rotate(-3deg);    
  12.       -moz-transform:rotate(-3deg);    
  13.       position:relative;    
  14.       top:-5px;    
  15.       background:#ccf;    
  16.     } 

這樣,就完成了咱們最終的效果:

 

 

總結

至此,咱們利用了HTML5和CSS3的基本特性作成了一個還不錯的便籤貼效果,HTML5/CSS3確實很強大,若是在加一些高級特性,好比和JavaScript結合起來,能實現更加牛逼的效果,從當耐特磚家給你們的HTML5實驗室系列文章,就能夠看出來了。

相關文章
相關標籤/搜索