栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Html/CSS > CSS教程

支持IE8的纯css3开发的响应式设计动画菜单教程

CSS教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

  这是一个响应式设计的菜单。单击列表图标,当你显示屏大小可以完全水平放下所有菜单项时,菜单水平显示(如图1)。当你的显示屏不能水平放置所有菜单项时,菜单垂直显示(如图2)。 而且显示的时候是以动画的型式显示。效果相当的好。

图1

图2

  下面是实现的代码。

  html代码:

XML/HTML Code复制内容到剪贴板
  1.   
  2.           
  3.           
  4.               
  5.             
        
    •                 
    • Home
    •   
    •                 
    • DHTML
    •   
    •                 
    • CSS Library
    •   
    •                 
    • CSS Gallery
    •   
    •                 
    • Javascript
    •   
    •                 
    •   
    •                       
    •                       
    •                 
    •   
    •             
      
  6.               
  7.                 Menu  
  8.         
  
  •     
  •   

      这里加入了兼容ie8的hack 。

      css代码:

    CSS Code复制内容到剪贴板
    1. body   
    2.         {   
    3.             padding:0; margin:0;   
    4.             }   
    5.             .container   
    6.             {   
    7.                  width:600px;  margin:auto;   
    8.                 }   
    9.             .iconicmenu {   
    10.     position: relative;   
    11.     height: 45px;   
    12.     overflow: hidden;   
    13.     }   
    14.   
    15. .iconicmenu, .iconicmenu * {   
    16.     -moz-box-sizing: border-box;   
    17.     box-sizing: border-box;   
    18.     }   
    19.   
    20. .iconicmenu input[type="checkbox"] {   
    21.     position: absolute;   
    22.     left: 0;   
    23.     top: 0;   
    24.     opacity: 0;   
    25.     }   
    26.   
    27. .iconicmenu > label {   
    28.     z-index: 1000;   
    29.     display: block;   
    30.     position: absolute;   
    31.     width: 40px;   
    32.     height: 40px;   
    33.     float: left;   
    34.     top: 0;   
    35.     left: 0;   
    36.     background: white;   
    37.     text-indent: -1000000px;   
    38.     border: 6px solid black;   
    39.     border-width: 6px 0;   
    40.     cursor: pointer;   
    41.     -moz-transition: all 0.3s ease-in;   
    42.     -webkit-transition: all 0.3s ease-in;   
    43.     transition: all 0.3s ease-in;   
    44.     }   
    45.   
    46. .iconicmenu > label::after {   
    47.     content: "";   
    48.     display: block;   
    49.     position: absolute;   
    50.     width: 100%;   
    51.     height: 18%;   
    52.     top: 19%;   
    53.     left: 0;   
    54.     border: 6px solid black;   
    55.     border-width: 6px 0;   
    56.     -moz-transition: all 0.3s ease-in;   
    57.     -webkit-transition: all 0.3s ease-in;   
    58.     transition: all 0.3s ease-in;   
    59.     }   
    60.   
    61. .iconicmenu ul {   
    62.     margin: 0;   
    63.     padding: 0;   
    64.     position: absolute;   
    65.     margin-left: 40px;   
    66.     background: #eee;   
    67.     left: -100%;   
    68.     height: 40px;   
    69.     font: bold 14px Verdana;   
    70.     text-align: center;   
    71.     list-style: none;   
    72.     opacity: 0;   
    73.     -moz-border-radius: 0 5px 5px 0;   
    74.     -webkit-border-radius: 0 5px 5px 0;   
    75.     border-radius: 0 5px 5px 0;   
    76.     -moz-perspective: 10000px;   
    77.     perspective: 10000px;   
    78.     -moz-transition: all 0.5s ease-in;   
    79.     -webkit-transition: all 0.5s ease-in;   
    80.     transition: all 0.5s ease-in;   
    81.     }   
    82.   
    83. .iconicmenu li {   
    84.     display: inline;   
    85.     margin: 0;   
    86.     padding: 0;   
    87.     }   
    88.   
    89. .iconicmenu ul label {   
    90.     cursor: pointer;   
    91.     position: relative;   
    92.     height: 100%;   
    93.     text-align: center;   
    94.     }   
    95.   
    96. .iconicmenu ul label::after {   
    97.     content: "x";   
    98.     display: inline-block;   
    99.     line-height: 14px;   
    100.     color: white;   
    101.     -moz-border-radius: 50px;   
    102.     -webkit-border-radius: 50px;   
    103.     border-radius: 50px;   
    104.     width: 20px;   
    105.     height: 20px;   
    106.     background: black;   
    107.     font-size: 18px;   
    108.     margin: 5px;   
    109.     margin-top: 10px;   
    110.     -moz-transition: all 0.3s ease-in;   
    111.     -webkit-transition: all 0.3s ease-in;   
    112.     transition: all 0.3s ease-in;   
    113.     }   
    114.   
    115. .iconicmenu input[type="checkbox"]:checked ~ label, .iconicmenu ul label:hover::after {   
    116.     -moz-transform: rotatey(180deg);   
    117.     -ms-transform: rotatey(180deg);   
    118.     -webkit-transform: rotatey(180deg);   
    119.     transform: rotatey(180deg);   
    120.     }   
    121.   
    122. .iconicmenu > label:hover, .iconicmenu > label:hover::after, .iconicmenu input[type="checkbox"]:checked ~ label, .iconicmenu input[type="checkbox"]:checked ~ label::after {   
    123.     border-color: darkred;   
    124.     }   
    125.   
    126. .iconicmenu input[type="checkbox"]:checked ~ ul {   
    127.     left: 8px;   
    128.     opacity: 1;   
    129.     -moz-box-shadow: 1px 1px 5px gray;   
    130.     -webkit-box-shadow: 1px 1px 5px gray;   
    131.     box-shadow: 1px 1px 5px gray;   
    132.     }   
    133.   
    134. .iconicmenu li a {   
    135.     display: block;   
    136.     float: left;   
    137.     text-align: center;   
    138.     text-decoration: none;   
    139.     color: black;   
    140.     margin: 0;   
    141.     padding: 10px;   
    142.     padding-right: 15px;   
    143.     height: 100%;   
    144.     }   
    145.   
    146. .iconicmenu li a:hover {   
    147.     background: black;   
    148.     color: white;   
    149.     }   
    150.   
    151.   
    152.   
    153.   
    154.   
    155. @media screen and (max-width: 580px) {   
    156.     .iconicmenu input[type="checkbox"]:checked ~ label {   
    157.         display: none;   
    158.         }   
    159.     .iconicmenu input[type="checkbox"]:checked ~ ul {   
    160.         margin-left: 0;   
    161.         }   
    162.     }   
    163.     
    164. @media screen and (max-width: 560px) {   
    165.     .iconicmenu {   
    166.         overflow: visible;   
    167.         }   
    168.     .iconicmenu ul {   
    169.         height: auto;   
    170.         }   
    171.     .iconicmenu ul li {   
    172.         min-width: 200px;;   
    173.         display: block;   
    174.         }   
    175.     .iconicmenu ul li a {   
    176.         float: none;;   
    177.         text-align: left;   
    178.         }   
    179.     }  

     以上就是一个纯用css3实现的菜单,是不是很简单呢,谢谢阅读,希望能帮到大家,请继续关注考高分网,我们会努力分享更多优秀的文章。

    转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/216537.html

    CSS教程相关栏目本月热门文章

    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号