了解如何創建CSS和JavaScript一個負責任的頂部導航菜單。
頂部導航
調整瀏覽器窗口中看到的響應導航菜單是如何工作的:
建立回應Topnav
步驟1)添加HTML:
例
<ul class="topnav">
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
<li class="icon">
<a href="javascript:void(0);" onclick="myFunction()">☰</a>
</li>
</ul>
帶class =“圖標”列表項都有用來打開和關閉在小屏幕上topnav的鏈接。
步驟2)添加CSS:
樣式列表看起來像一個導航欄:
例
/*
Remove margins and padding from the list, and add a black background color */
ul.topnav {
list-style-type: none;
margin: 0;
padding: 0;
overflow:
hidden;
background-color: #333;
}
/* Float
the list items side by side */
ul.topnav li {float: left;}
/*
Style the links inside the list items */
ul.topnav li a {
display: inline-block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
transition: 0.3s;
font-size: 17px;
}
/* Change background color of links on hover */
ul.topnav li
a:hover {background-color: #111;}
/* Hide the list item that contains
the link that should open and close the topnav on small screens */
ul.topnav li.icon {display: none;}
添加媒體查詢:
例
/* When the screen is less than 680 pixels wide, hide all list items, except
for the first one ("Home"). Show the list item that
contains the link to open and close the topnav (li.icon) */
@media screen and (max-width:680px) {
ul.topnav li:not(:first-child)
{display: none;}
ul.topnav li.icon {
float:
right;
display: inline-block;
}
}
/* The "responsive" class is added to the topnav with JavaScript when the
user clicks on the icon. This class makes the topnav look good on small
screens */
@media screen and (max-width:680px) {
ul.topnav.responsive {position: relative;}
ul.topnav.responsive
li.icon {
position: absolute;
right: 0;
top: 0;
}
ul.topnav.responsive li {
float: none;
display: inline;
}
ul.topnav.responsive li a {
display: block;
text-align: left;
}
}
步驟3)添加JavaScript的:
例
/* Toggle between adding and removing the "responsive" class to topnav when
the user clicks on the icon */
function myFunction() {
document.getElementsByClassName("topnav")[0].classList.toggle("responsive");
}
試一試» 提示:去我們的CSS教程導航欄 ,以了解更多關於導航欄。