怎樣用html5實現便利貼效果?

Tags: 效果, 程式碼,

使用HTML5/CSS3快速製作便籤貼特效

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

怎樣用html5實現便利貼效果

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

首先新增基本的HTML結構以及構建基本的正方形,程式碼如下:

XML/HTML Code複製內容到剪貼簿

1.

每個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.}

效果如下:

怎樣用html5實現便利貼效果

第三步:傾斜正方形

這一步,是我們要實現正方形的陰影效果,並且將字型改為草體(僅限英文),由於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.}

效果如下:

怎樣用html5實現便利貼效果

第五步:平滑過渡和新增顏色

為了讓正方形傾斜,我們需要在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.}

效果如下:

怎樣用html5實現便利貼效果

想在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鍵切換訪問,

​效果如下:

怎樣用html5實現便利貼效果

第四步的特效,看起來有些生硬,我們可以新增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.}

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

怎樣用html5實現便利貼效果

相關問題答案