溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

純css3開發(fā)的響應(yīng)式設(shè)計(jì)動畫菜單詳細(xì)教程

發(fā)布時(shí)間:2021-07-30 09:14:39 來源:億速云 閱讀:307 作者:chen 欄目:web開發(fā)

這篇文章主要講解了“純css3開發(fā)的響應(yīng)式設(shè)計(jì)動畫菜單詳細(xì)教程”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“純css3開發(fā)的響應(yīng)式設(shè)計(jì)動畫菜單詳細(xì)教程”吧!

  這是一個(gè)響應(yīng)式設(shè)計(jì)的菜單。單擊列表圖標(biāo),當(dāng)你顯示屏大小可以完全水平放下所有菜單項(xiàng)時(shí),菜單水平顯示(如圖1)。當(dāng)你的顯示屏不能水平放置所有菜單項(xiàng)時(shí),菜單垂直顯示(如圖2)。 而且顯示的時(shí)候是以動畫的型式顯示。效果相當(dāng)?shù)暮谩?/p>

純css3開發(fā)的響應(yīng)式設(shè)計(jì)動畫菜單詳細(xì)教程

圖1

純css3開發(fā)的響應(yīng)式設(shè)計(jì)動畫菜單詳細(xì)教程

圖2

  下面是實(shí)現(xiàn)的代碼。

  html代碼:

XML/HTML Code復(fù)制內(nèi)容到剪貼板

  1. <div class="container">  

  2.         <!--[if lte IE 8]>  

  3. <style>  

  4.   

  5.         .iconicmenu > label{   

  6.         border-width: 7px;   

  7.         background: #eee;   

  8.         }   

  9.            

  10.         .iconicmenu:hover ul{   

  11.             left: 8px; /* show menu onmouseover in IE8 and below */   

  12.         }   

  13.   

  14. </style>  

  15. <![endif]-->  

  16.         <div class="iconicmenu">  

  17.             <input type="checkbox" id="togglebox" />  

  18.             <ul>  

  19.                 <li><a targe="_blank" href="http://kemok4.com/Shili/css3%E8%8F%9C%E5%8D%95">Home</a></li>  

  20.                 <li><a targe="_blank" href="http://kemok4.com/Shili/css3%E8%8F%9C%E5%8D%95">DHTML</a></li>  

  21.                 <li><a targe="_blank" href="http://kemok4.com/Shili/css3%E8%8F%9C%E5%8D%95">CSS Library</a></li>  

  22.                 <li><a targe="_blank" href="http://kemok4.com/Shili/css3%E8%8F%9C%E5%8D%95">CSS Gallery</a></li>  

  23.                 <li><a targe="_blank" href="http://kemok4.com/Shili/css3%E8%8F%9C%E5%8D%95">JavaScript</a></li>  

  24.                 <li>  

  25.                     <label for="togglebox">  

  26.                     </label>  

  27.                 </li>  

  28.             </ul>  

  29.             <label class="toggler" for="togglebox">  

  30.                 Menu</label>  

  31.         </div>  

  32.     </div>  

  這里加入了兼容ie8的hack 。

  css代碼:

CSS Code復(fù)制內(nèi)容到剪貼板

  1. body   

  2.         {   

  3.             padding:0; margin:0;   

  4.             }   

  5.             .container   

  6.             {   

  7.                  width:600px;  margin:auto;   

  8.                 }   

  9.             .iconicmenu {   

  10.     positionrelative;   

  11.     height45px;   

  12.     overflowhidden;   

  13.     }   

  14.   

  15. .iconicmenu, .iconicmenu * {   

  16.     -moz-box-sizing: border-box;   

  17.     box-sizing: border-box;   

  18.     }   

  19.   

  20. .iconicmenu input[type="checkbox"] { /* checkbox used to toggle menu state */  

  21.     positionabsolute;   

  22.     left: 0;   

  23.     top: 0;   

  24.     opacity: 0;   

  25.     }   

  26.   

  27. .iconicmenu > label { /* Main label icon to toggle menu state */  

  28.     z-index: 1000;   

  29.     displayblock;   

  30.     positionabsolute;   

  31.     width40px;   

  32.     height40px;   

  33.     floatleft;   

  34.     top: 0;   

  35.     left: 0;   

  36.     backgroundwhite;   

  37.     text-indent: -1000000px;   

  38.     border6px solid black/* border color */  

  39.     border-width6px 0;   

  40.     cursorpointer;   

  41.     -moz-transition: all 0.3s ease-in;   

  42.     -webkit-transition: all 0.3s ease-in;   

  43.     transition: all 0.3s ease-in; /* transition for flipping label */  

  44.     }   

  45.   

  46. .iconicmenu > label::after { /* inner stripes inside label */  

  47.     content"";   

  48.     displayblock;   

  49.     positionabsolute;   

  50.     width: 100%;   

  51.     height: 18%;   

  52.     top: 19%;   

  53.     left: 0;   

  54.     border6px solid black/* border color */  

  55.     border-width6px 0;   

  56.     -moz-transition: all 0.3s ease-in;   

  57.     -webkit-transition: all 0.3s ease-in;   

  58.     transition: all 0.3s ease-in; /* transition for flipping label */  

  59.     }   

  60.   

  61. .iconicmenu ul { /* UL menu inside container */  

  62.     margin: 0;   

  63.     padding: 0;   

  64.     positionabsolute;   

  65.     margin-left40px;   

  66.     background#eee;   

  67.     left: -100%; /* hide menu intially */  

  68.     height40px/* height of menu */  

  69.     fontbold 14px Verdana;   

  70.     text-aligncenter;   

  71.     list-stylenone;   

  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; /* transition for animating UL in and out */  

  81.     }   

  82.   

  83. .iconicmenu li {   

  84.     displayinline;   

  85.     margin: 0;   

  86.     padding: 0;   

  87.     }   

  88.   

  89. .iconicmenu ul label { /* label button inside UL to close menu */  

  90.     cursorpointer;   

  91.     positionrelative;   

  92.     height: 100%;   

  93.     text-aligncenter;   

  94.     }   

  95.   

  96. .iconicmenu ul label::after { /* label button x */  

  97.     content"x";   

  98.     displayinline-block;   

  99.     line-height14px;   

  100.     colorwhite;   

  101.     -moz-border-radius: 50px;   

  102.     -webkit-border-radius: 50px;   

  103.     border-radius: 50px;   

  104.     width20px;   

  105.     height20px;   

  106.     backgroundblack;   

  107.     font-size18px;   

  108.     margin5px;   

  109.     margin-top10px;   

  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); /* flip labels vertically onMouseover */  

  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; /* highlight color of main menu label onMouseover */  

  124.     }   

  125.   

  126. .iconicmenu input[type="checkbox"]:checked ~ ul {   

  127.     left8px/* Animate menu into view */  

  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.     displayblock;   

  136.     floatleft;   

  137.     text-aligncenter;   

  138.     text-decorationnone;   

  139.     colorblack;   

  140.     margin: 0;   

  141.     padding10px;   

  142.     padding-right15px;   

  143.     height: 100%;   

  144.     }   

  145.   

  146. .iconicmenu li a:hover {   

  147.     backgroundblack;   

  148.     colorwhite;   

  149.     }   

  150.   

  151. /* ----------------------------- CSS Media Queries ----------------------------- */  

  152.   

  153. /*  

  154. These rules control which portions of the menu gets shown when the screen size is below a certain width.  

  155. By default 2 stages are defined depending on browser screen width.  

  156. */  

  157.   

  158. @media screen and (max-width580px) { /* Hide toggle icon when menu is already open (increases usable menu space by 40px) */  

  159.     .iconicmenu input[type="checkbox"]:checked ~ label {   

  160.         displaynone;   

  161.         }   

  162.     .iconicmenu input[type="checkbox"]:checked ~ ul {   

  163.         margin-left: 0;   

  164.         }   

  165.     }   

  166.     

  167. @media screen and (max-width560px) { /* Convert horizontal menu to vertical drop down instead (friendly across all screen sizes) */  

  168.     .iconicmenu {   

  169.         overflowvisible;   

  170.         }   

  171.     .iconicmenu ul {   

  172.         heightauto;   

  173.         }   

  174.     .iconicmenu ul li {   

  175.         min-width200px;;   

  176.         displayblock;   

  177.         }   

  178.     .iconicmenu ul li a {   

  179.         floatnone;;   

  180.         text-alignleft;   

  181.         }   

  182.     }  

感謝各位的閱讀,以上就是“純css3開發(fā)的響應(yīng)式設(shè)計(jì)動畫菜單詳細(xì)教程”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對純css3開發(fā)的響應(yīng)式設(shè)計(jì)動畫菜單詳細(xì)教程這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI