多语言展示
当前在线:1506今日阅读:162今日分享:23

怎样用html5实现便利贴效果

使用HTML5/CSS3快速制作便签贴特效  本篇文字将展示给你的是,如何利用HTML5/CSS3,仅用5步就可以制作便签贴效果的HTML页面,效果图如下:
第一步:创建基本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.}   效果如下:​END

第三步:倾斜正方形

这一步,是我们要实现正方形的阴影效果,并且将字体改为草体(仅限英文),由于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.}    效果如下:  END

第五步:平滑过渡和添加颜色

为了让正方形倾斜,我们需要在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.}  效果如下:​ END

方法/步骤

想在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键切换访问,​效果如下: END

方法/步骤

第四步的特效,看起来有些生硬,我们可以添加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.}  这样,就完成了我们最终的效果: END

推荐信息