Jak tworzyć: duże menu
- Poprzednia strona Menu przeciągane
- Następna strona Menu mobilne
Ucz się, jak tworzyć duże menu (całkowicie rozwijane menu w nawigacji).
Duże menu
Utwórz duże menu
Utwórz menu rozwijane, które pojawi się, gdy użytkownik przeniesie mysz nad elementem w nawigacji.
Krok 1 - Dodaj HTML:
<div class="navbar"> <a href="#home">Strona główna</a> <a href="#news">Aktualności</a> <div class="dropdown"> <button class="dropbtn">Menu rozwijane <i class="fa fa-caret-down"></i> </button> <div class="dropdown-content"> <div class="header"> <h2>Mega Menu</h2> </div> <div class="row"> <div class="column"> <h3>Kategoria 1</h3> <a href="#">Link 1</a> <a href="#">Link 2</a> <a href="#">Link 3</a> </div> <div class="column"> <h3>Kategoria 2</h3> <a href="#">Link 1</a> <a href="#">Link 2</a> <a href="#">Link 3</a> </div> <div class="column"> <h3>Kategoria 3</h3> <a href="#">Link 1</a> <a href="#">Link 2</a> <a href="#">Link 3</a> </div> </div> </div> </div> </div>
Przykład wyjaśnienia:
Można użyć dowolnego elementu do otwarcia menu rozwijanego, na przykład elementu <button>, <a> lub <p>.
Użyj elementu kontenera (np. <div class="dropdown-content">), aby utworzyć menu rozwijane, dodać siatkę (wiersze) i w siatce dodać linki menu.
Użyj elementu <div class="dropdown">, aby otoczyć przycisk i element kontenera (np. <div class="dropdown-content">), aby poprawnie ustawić menu rozwijane za pomocą CSS.
Krok 2 - Dodaj CSS:
/* Kontener nawigacji */ .navbar { overflow: hidden; background-color: #333; font-family: Arial; } /* Linki w nawigacji */ .navbar a { float: left; font-size: 16px; color: white; text-align: center; padding: 14px 16px; text-decoration: none; } /* Kontener menu rozwijanego */ .dropdown { float: left; overflow: hidden; } /* Przycisk menu rozwijanego */ .dropdown .dropbtn { font-size: 16px; border: none; outline: none; color: white; padding: 14px 16px; background-color: inherit; font: inherit; /* Ważne dla wertykalnego wyśrodkowania na urządzeniach mobilnych */ margin: 0; /* Ważne dla wertykalnego wyśrodkowania na urządzeniach mobilnych */ } /* Kolor tła dla linków nawigacyjnych przy nawigacji myszą */ .navbar a:hover, .dropdown:hover .dropbtn { background-color: red; } /* Zawartość listy rozwijanej (domyślnie ukryta) */ .dropdown-content { display: none; position: absolute; background-color: #f9f9f9; width: 100%; left: 0; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; } /* Duży tytuł menu (jeśli jest potrzebny) */ .dropdown-content .header { background: red; padding: 16px; color: white; } /* Wyświetl menu rozwijane przy nawiszeniu myszy */ .dropdown:hover .dropdown-content { display: block; } /* Utwórz trzy równe kolumny, które są umieszczane równolegle */ .column { float: left; width: 33.33%; padding: 10px; background-color: #ccc; height: 250px; } /* Ustaw style dla linków w kolumnie */ .column a { float: none; color: black; padding: 16px; text-decoration: none; display: block; text-align: left; } /* Dodaj kolor tła przy nawiszeniu myszy */ .column a:hover { background-color: #ddd; } /* Usuń pływające po kolumnach */ .row:after { content: ""; display: table; clear: both; }
Przykład wyjaśnienia:
Ustawiliśmy style takie jak kolor tła i margines wstępny dla nawigacji i linków nawigacyjnych.
Ustawiliśmy style takie jak kolor tła i margines wstępny dla przycisku menu rozwijanego.
.dropdown-content
Klasa zawiera rzeczywiste menu rozwijane. Jest domyślnie ukryta i jest wyświetlana przy nawiszeniu myszy (patrz poniżej). Jest umieszczona pod przyciskiem menu rozwijanego i jej szerokość jest ustawiona na 100%, aby pokryć całą ekran.
Nie używamy obramowania, ale zamiast tego box-shadow
Atrybut, aby rozwijane menu wyglądało jak "kartka". Używamy również z-index
Umieść rozwijane menu przed innymi elementami.
:hover
Selektor używany do wyświetlania rozwijanego menu, gdy użytkownik podnosi mysz nad przyciskiem menu.
.column
Klasa używana do tworzenia trzech równoległych pływających kolumn w rozwijanym menu (do wyświetlania różnych kategorii).
Responsywna duża nawigacja
/* Responsywna layout - ustawia trzy kolumny na wierzchu, zamiast równolegle */ @media screen and (max-width: 600px) { .column { width: 100%; height: auto; } }
Powiązane strony
Instrukcja:Menu rozwijane CSS
Instrukcja:Jak utworzyć klikalne rozwijane menu
Instrukcja:Pasek nawigacyjny CSS
Instrukcja:Jak utworzyć responsywną górną nawigację
- Poprzednia strona Menu przeciągane
- Następna strona Menu mobilne