zoukankan      html  css  js  c++  java
  • 使用HTML5/CSS3制作便签贴

    利用HTML5/CSS3,仅用5步就可以制作便签贴效果的HTML页面,效果图如下:

    (注:图里的文字纯属杜撰,搞笑目的,如有雷同,纯属巧合,谢谢!)

    注:该效果可以在Safari, Chrome,Firefox和Opera在看到效果,IE上由于对HTML5的支持不完全,所以看不出效果。

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

    首先添加基本的HTML结构以及构建基本的正方形,代码如下:

    XML/HTML Code复制内容到剪贴板
    1. <ul>  
    2. <li><href=”#”>  
    3. <h2>Dudu:</h2>  
    4. <p>最近咋没有美女发帖呢?我一定给个头条推荐,recommend!recommend!</p>  
    5. </a></li>  
    6. <li><href=”#”>  
    7. <h2>汤姆大叔:</h2>  
    8. <p>Team的一个成员去了Microsoft做SDE3,又得hire new member了</p>  
    9. </a></li>  
    10. <li><href=”#”>  
    11. <h2>技术弟弟:</h2>  
    12. <p>O2DS和我翻译的书是一样,我一定要比他翻得快, 晚上加班翻,fast! fast! fast!</p>  
    13. </a></li>  
    14. <li><href=”#”>  
    15. <h2>Artech:</h2>  
    16. <p>WCF的帖子真是少,看来我得多发点帖子让大家学习呢</p>  
    17. </a></li>  
    18. <li><href=”#”>  
    19. <h2>吉日嘎拉:</h2>  
    20. <p>将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情</p>  
    21. </a></li>  
    22. <li><href=”#”>  
    23. <h2>某武林高手:</h2>  
    24. <p>低于25000块的面试再也不去了,它grandma的</p>  
    25. </a></li>  
    26. </ul>  

    每个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. 10em;  
    30. padding:1em;  
    31. }  
    32. ul li{  
    33. margin:1em;  
    34. float:left;  
    35. }  

    效果如下:

    第二步:阴影和手写草体字

    这一步,是我们要实现正方形的阴影效果,并且将字体改为草体(仅限英文),由于google提供了Font API的支持,所以我们可以直接使用了,首先添加对Google API的调用:

    XML/HTML Code复制内容到剪贴板
    1. <link href=”http://fonts.googleapis.com/css?family=Reenie+Beanie:regular” rel=”stylesheet” type=”text/css”>  

    然后设置引用这个字体:

    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.  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时放缩正方形

    想在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. }  

    这样,就完成了我们最终的效果:

    总结

    至此,我们利用了HTML5和CSS3的基本特性做成了一个还不错的便签贴效果,HTML5/CSS3确实很强大,如果在加一些高级特性,比如和JavaScript结合起来,能实现更加牛逼的效果,从当耐特砖家给大家的HTML5实验室系列文章,就可以看出来了。

  • 相关阅读:
    《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(5.23)-- Format NVM command
    《NVMe-over-Fabrics-1_0a-2018.07.23-Ratified》阅读笔记(4)-- Controller Architecture
    《NVMe-over-Fabrics-1_0a-2018.07.23-Ratified》阅读笔记(3)-- 命令
    SPDK-nvmf与不同传输类型的公共接口
    NVMe over Fabrics 概况
    NVMe概况
    NVMe over Fabrics 协议Discovery服务交互过程跟踪
    《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(8.21)-- Host Operation with Asymmetric Namespace Access Reporting
    《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(8.8)-- Reservations
    Spring 中IOC(控制反转)&& 通过SET方式为属性注入值 && Spring表达式
  • 原文地址:https://www.cnblogs.com/axl234/p/3794577.html
Copyright © 2011-2022 走看看