Jak tworzyć: klikalne rozwijane menu
- Poprzednia strona Menu rozwijane podtrzymywane
- Następna strona Kaskadowe menu rozwijane
Ucz się, jak używać CSS i JavaScript do tworzenia klikalnych rozwijanych menu.
Rozwijane menu
Rozwijane menu to menu włączalne, które pozwala użytkownikowi wybrać wartość z predefined listy:
Stwórz klikalne rozwijane menu
Stwórz rozwijane menu, które po kliknięciu przez użytkownika będzie się pojawiało.
Krok 1 - Dodaj HTML:
<div class="dropdown"> <button onclick="myFunction()" class="dropbtn">Dropdown</button> <div id="myDropdown" class="dropdown-content"> <a href="#">Link 1</a> <a href="#">Link 2</a> <a href="#">Link 3</a> </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 kontenerowego (np. <div>) do utworzenia menu rozwijanego i dodaj do niego linki menu.
Użyj elementu <div>, aby otoczyć przycisk i <div>, aby poprawnie zlokalizować menu rozwijane za pomocą CSS.
Krok 2 - Dodaj CSS:
/* 下拉按钮 */ .dropbtn { background-color: #3498DB; color: white; padding: 16px; font-size: 16px; border: none; cursor: pointer; } /* 鼠ow悬停和聚焦时的下拉菜单按钮 */ .dropbtn:hover, .dropbtn:focus { background-color: #2980B9; } /* 容器 <div> - 用于定位下拉菜单内容所需的元素 */ .dropdown { position: relative; display: inline-block; } /* 下拉菜单内容(默认隐藏) */ .dropdown-content { display: none; position: absolute; background-color: #f1f1f1; min-width: 160px; box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); z-index: 1; } /* 下拉菜单内的链接 */ .dropdown-content a { color: black; padding: 12px 16px; text-decoration: none; display: block; } /* 鼠ow悬停时更改下拉菜单链接的颜色 */ .dropdown-content a:hover {background-color: #ddd;} /* Wyświetl menu rozwijane (dodaj ten klasę do kontenera .dropdown-content, gdy użytkownik kliknie przycisk menu rozwijanego za pomocą JS) */ .show {display:block;}
Przykład wyjaśnienia:
Ustawiliśmy style tła, marginesów wewnętrznych, efektów przy najechaniu myszą itp. dla przycisku menu rozwijanego.
.dropdown
klasa używa position:relative
kiedy chcemy umieścić treść menu rozwijanego pod przyciskiem menu rozwijanego (używając position:absolute
), to jest niezbędne.
.dropdown-content
klasa zawiera rzeczywiste menu rozwijane. Domyślnie jest ukryte i będzie wyświetlane po najechaniu myszą (patrz niżej). Proszę zauważyć, że minimalna szerokość ustawiona jest na 160px. Możesz zmienić tę wartość według potrzeb. Wskazówka: Jeśli chcesz, aby szerokość treści menu rozwijanego była taka sama jak szerokość przycisku menu rozwijanego, ustaw szerokość na 100% (i używaj na małych ekranach) overflow:auto
aby umożliwić przewijanie).
Zamiast krawędzi używamy box-shadow
aś, aby menu rozwijane wyglądało jak karta. Używamy również z-index
Umieść menu rozwijane przed innymi elementami.
Krok 3 - Dodaj JavaScript:
/* Przełącz stan ukrycia i wyświetlania treści menu rozwijanego, gdy użytkownik kliknie przycisk */ function myFunction() { document.getElementById("myDropdown").classList.toggle("show"); } // Jeśli użytkownik kliknie poza menu rozwijanym, zamknij menu rozwijane window.onclick = function(event) { if (!event.target.matches('.dropbtn')) { var dropdowns = document.getElementsByClassName("dropdown-content"); var i; for (i = 0; i < dropdowns.length; i++) { var openDropdown = dropdowns[i]; if (openDropdown.classList.contains('show')) { openDropdown.classList.remove('show'); } } } }
Rozwijane menu wyśrodkowane do prawej
Rozwijane menu w pasku nawigacyjnym
Rozwijane menu wyszukiwania (filtr)
Strony związane
Tutorial:Menu rozwijane CSS
- Poprzednia strona Menu rozwijane podtrzymywane
- Następna strona Kaskadowe menu rozwijane