CSS 伸縮菜單欄指的是一種采用 CSS 技術實現(xiàn)的菜單欄,可以自動適應不同終端設備的屏幕大小,具有伸縮性。下面是一個 CSS 伸縮菜單欄的示例代碼:
<html> <head> <style> /*菜單欄樣式*/ .navbar{ display:flex; justify-content:space-between; background-color:#333; color:#fff; padding:12px; } /*菜單項樣式*/ .navbar li{ margin:0 10px; } /*小屏幕下的菜單按鈕*/ .navbar button{ display:none; background-color:#fff; color:#333; border:none; padding:10px 16px; font-size:16px; cursor:pointer; } /*小屏幕下的菜單欄*/ .navbar.responsive{ flex-direction:column; display:block; } .navbar.responsive li{ margin:10px 30px; } /*菜單按鈕被點擊時的樣式*/ .change .menu-icon{ background-image:url('close-icon.png'); } /*菜單項的懸浮效果*/ .navbar li:hover{ background-color:#fff; color:#333; border-radius:5px; } /*當前菜單項的樣式*/ .active{ background-color:#fff; color:#333; border-radius:5px; } /*響應式設計*/ @media screen and (max-width:600px){ .navbar li:not(:first-child){ display:none; } .navbar button{ display:block; } } </style> </head> <body> <div class="navbar" id="myNavbar"> <a href="#" class="logo">Logo</a> <ul id="nav"> <li><a href="#">Home</a></li> <li><a href="#">About</a></li> <li><a href="#" class="active">Services</a></li> <li><a href="#">Contact</a></li> </ul> <button class="menu-icon" onclick="toggleNavbar()">☰</button> </div> <script> function toggleNavbar(){ var navbar=document.getElementById("myNavbar"); if(navbar.className==="navbar"){ navbar.className+=" responsive"; }else{ navbar.className="navbar"; } } </script> </body> </html>
該代碼的主要思路是:使用 flex 布局實現(xiàn)菜單項的排列,并采用媒體查詢實現(xiàn)響應式設計。在小屏幕下,通過顯示或隱藏菜單按鈕的方式實現(xiàn)菜單的伸縮效果,同時改變菜單欄的排列方向。點擊菜單按鈕后,通過添加或移除類名的方式,切換菜單欄的樣式。
該示例代碼旨在展現(xiàn) CSS 伸縮菜單欄的實現(xiàn)原理,可以根據(jù)自己的需求進行調(diào)整和優(yōu)化。