使用HTML5/CSS3快速製作便籤貼特效
本篇文字將展示給你的是,如何利用HTML5/CSS3,僅用5步就可以製作便籤貼效果的HTML頁面,效果圖如下:
第一步:建立基本HTML和正方形
首先新增基本的HTML結構以及構建基本的正方形,程式碼如下:
XML/HTML Code複製內容到剪貼簿
1.
-
3.
Dudu:
4.
最近咋沒有美女發帖呢?我一定給個頭條推薦,recommend!recommend!
-
7.
湯姆大叔:
8.
Team的一個成員去了Microsoft做SDE3,又得hire new member了
-
11.
技術弟弟:
12.
O2DS和我翻譯的書是一樣,我一定要比他翻得快, 晚上加班翻,fast! fast! fast!
-
15.
Artech:
16.
WCF的帖子真是少,看來我得多發點帖子讓大家學習呢
-
19.
吉日嘎拉:
20.
將許可權管理、工作流管理做到我能力的極致,一個人只能做好那麼很少的幾件事情
-
23.
某武林高手:
24.
低於25000塊的面試再也不去了,它grandma的
2.
6.
10.
14.
18.
22.
26.
每個note都加一個href連線,主要是為了支援鍵盤訪問,CSS程式碼如下:
檢視原始程式碼
CSS Code複製內容到剪貼簿
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的呼叫:
檢視原始程式碼
XML/HTML Code複製內容到剪貼簿
1.
然後設定引用這個字型:
檢視原始程式碼
XML/HTML Code複製內容到剪貼簿
1.ul li h2
2.{
3.font-size: 140%;
4.font-weight: bold;
5.padding-bottom: 10px;
6.}
7.ul li p
8.{
9.font-family: “Reenie Beanie” ,arial,sans-serif,微軟雅黑;
10.font-size: 110%;
11.}
關於陰影,由於各個瀏覽器還都不完全支援,所以需要分別處理,程式碼如下:
檢視原始程式碼
XML/HTML Code複製內容到剪貼簿
1.ul li a
2.{
3.text-decoration: none;
4.color: #000 ;
5.background: #ffc ;
6.display: block;
7.height: 10em;
8.width: 10em;
9.padding: 1em; /* 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裡新增如下程式碼:
檢視原始代
XML/HTML Code複製內容到剪貼簿
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:
檢視原始程式碼
CSS Code複製內容到剪貼簿
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的時候達到縮放的效果,我們需要新增如下程式碼:
檢視原始程式碼
CSS Code複製內容到剪貼簿
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:
檢視原始程式碼
CSS Code複製內容到剪貼簿
1.-moz-transition:-moz-transform .15s linear;
2.-o-transition:-o-transform .15s linear;
3.-webkit-transition:-webkit-transform .15s linear;
然後在even和3n裡定義不同的顏色:
檢視原始程式碼
CSS Code複製內容到剪貼簿
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.}
這樣,就完成了我們最終的效果: