Я хочу добавить выпадающий список к одному из моих элементов навигации. Но я все еще хочу, чтобы на этот элемент можно было нажимать.
HTML:
Поэтому элемент навигации, который указан как «предложение», должен иметь выпадающий список, но он все равно должен быть активным и вести на страницу обзора. Я пробовал код css и html из https://www.w3schools.com/howto/howto_css_dropdown.asp, но проблема в том, что они используют кнопку, чтобы создать раскрывающийся список, и тогда я не могу получить основную ссылку "предложение", чтобы быть щелкнул больше.
Есть ли способ добавить здесь выпадающий список, или мне нужно будет переписать всю навигацию ??
Вот CSS и JS для стиля и отзывчивости:
CSS:
/* Navbar Styling */
.header {
width: 100%;
display: flex;
position: fixed;
z-index: 1;
}
.topnav {
overflow: hidden;
padding-top: 10px;
padding-right: 45px;
padding-bottom: 10px;
margin-left: auto;
}
.topnav a {
float: left;
display: block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 14px;
letter-spacing: 0.15em;
position: relative;
}
/* HOVER */
.nav-link:hover {
opacity: 1;
display: block;
}
.nav-link::before {
transition: width 0.3s ease 0s, left 0.3s ease 0s;
height: 2px;
content: "";
position: absolute;
background-color: white;
left: 50%;
}
.nav-link-ltr::before {
width: 0;
bottom: 0;
}
.nav-link-ltr:hover::before {
width: 70%;
left: 15%;
}
.topnav .icon {
display: none;
}
/* Media Query for Navbar */
@media screen and (max-width: 900px) {
.section1 {display: block;}
.topnav a {display: none;}
.topnav a.icon {
display: inline-block;
}
.header {display: block;}
}
@media screen and (max-width: 900px) {
.responsive {
position: relative;
}
.topnav.responsive .icon {
position: absolute;
right: 20px;
top: 18px;
z-index: 100;
}
.topnav {
float: right;
padding-top: 18px;
padding-right: 40px;
}
.topnav.responsive a {
float: none;
display: block;
text-align: left;
background-color: #4A6971;
font-size: 16px;
padding-right: 20px;
}
.topnav a {
font-size: 18px;
padding-right: 0;
padding-left: 50px;
}
.topnav a:hover {
color: #B5CFD6;
}
.topnav a:hover::before {
width: 0;
}
}
/* Current Page Nav Style */
#current_menu_item::after {
content: "";
width: 80%;
height: 2px;
background: white;
position: absolute;
bottom: 0;
left: 10%;
line-height: 16px;
}
/* Removing current page style for responsive navbar */
@media screen and (max-width: 900px) {
#current_menu_item::after{
width: 0;
color: #B5CFD6;
}
}
JS:
// Responsive Main Menu
function myFunction() {
var x = document.getElementById("myTopnav");
if (x.className === "topnav") {
x.className += " responsive";
} else {
x.className = "topnav";
}
}
// Scroll Nav
jQuery(function () {
jQuery(document).ready(function(){
jQuery(window).on("scroll",function(){
if(jQuery(document).scrollTop() > 200)
jQuery(".header").css({"backgroundColor":"#4A6971","box-shadow":"0px 2px 5px 0px #393333"});
else
jQuery(".header").css({"backgroundColor":"transparent","box-shadow":"0px 0px 0px 0px #888282"});
})
})
});