Dowiedz się, jak stworzyć elastyczne górne menu nawigacji z CSS i JavaScript.
Top Navigation
Zmiana rozmiaru okna przeglądarki, aby zobaczyć, jak działa menu nawigacyjne reaguje:
Tworzenie Responsive Topnav
Krok 1) Dodaj HTML:
Przykład
<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>
Element lista class = „ikonę” znajduje się link, który jest używany do otwierania i zamykania topnav na małych ekranach.
Krok 2) Dodaj CSS:
Styl listy wyglądać na pasku nawigacyjnym:
Przykład
/*
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;}
Dodaj zapytań o media:
Przykład
/* 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;
}
}
Krok 3) Dodaj JavaScript:
Przykład
/* 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");
}
Spróbuj sam " Porada: Przejdź do naszego CSS pasek nawigacyjny Tutorial , aby dowiedzieć się więcej na temat pasków nawigacyjnych.