导航栏链接可见但不可点击
Navbar links are visible but not clickable
我为我的导航栏(点击汉堡包时激活)创建了移动和平板电脑版本,并且在桌面分辨率下,我希望导航栏立即可见。到目前为止我已经完成了......但是导航栏链接在桌面版本上不可点击。这样做的原因是因为在 HTML 部分,我在菜单的汉堡包上添加了 onClick 操作,但在桌面分辨率上我只是 display: none 用于汉堡菜单,因此用户永远不会真正激活汉堡菜单以使导航栏链接变得可点击。
所以这是 HTML 代码:
<ul id="menu">
<li class="menu-item"><a href="/index.html" class="active">Home Page</a></li>
<li class="menu-item"><a href="/content.html" class="nav-link">Content</a></li>
<li class="menu-item"><a href="/store.html" class="nav-link">Products</a></li>
<li class="menu-item"><a href="/contact.html" class="nav-link">Contact</a></li>
</ul>
<input type="checkbox" id="check">
<div class="hamburger" onclick="myFunction(this)">
<div class="bar1"></div>
<div class="bar2"></div>
<div class="bar3"></div>
</div>
这是 CSS 代码:
#check {
display: none;
}
#menu{
background-color: white;
margin: 60px 0 0 0;
padding: 0;
display: block;
position: fixed;
font-size: 1.6rem;
justify-content: space-around;
font-weight: normal;
height: 100vh;
width: 100%;
align-items: center;
text-decoration: none;
list-style:none;
opacity: 0;
transition: 0.5s;
pointer-events: none;
}
#menu li{
text-align: center;
margin: 40px 0;
}
#menu.active{
pointer-events: auto;
opacity: 100;
}
这就是我为桌面分辨率所做的:
@media only screen and (min-width: 1000px) {
#menu{
padding: 0;
margin: 0;
display: flex;
position: fixed;
justify-content: space-between;
font-weight: normal;
height: 100px;
width: 40%;
align-items: center;
right: 100px;
text-decoration: none;
list-style:none;
opacity: 100%;
}
#menu li{
font-size: 1.2rem;
text-align: center;
z-index:9999999;
}
我不知道如何在不破坏我的手机和平板分辨率代码的情况下解决这个问题。
删除 Pointer 事件或对其进行评论
#menu{
background-color: white;
margin: 60px 0 0 0;
padding: 0;
display: block;
position: fixed;
font-size: 1.6rem;
justify-content: space-around;
font-weight: normal;
height: 100vh;
width: 100%;
align-items: center;
text-decoration: none;
list-style:none;
opacity: 0;
transition: 0.5s;
/*pointer-events: none;*/
}
使用 'onclick' 而不是 'onClick'。
您应该使用它,因为 Javascript 区分大小写。
我为我的导航栏(点击汉堡包时激活)创建了移动和平板电脑版本,并且在桌面分辨率下,我希望导航栏立即可见。到目前为止我已经完成了......但是导航栏链接在桌面版本上不可点击。这样做的原因是因为在 HTML 部分,我在菜单的汉堡包上添加了 onClick 操作,但在桌面分辨率上我只是 display: none 用于汉堡菜单,因此用户永远不会真正激活汉堡菜单以使导航栏链接变得可点击。
所以这是 HTML 代码:
<ul id="menu">
<li class="menu-item"><a href="/index.html" class="active">Home Page</a></li>
<li class="menu-item"><a href="/content.html" class="nav-link">Content</a></li>
<li class="menu-item"><a href="/store.html" class="nav-link">Products</a></li>
<li class="menu-item"><a href="/contact.html" class="nav-link">Contact</a></li>
</ul>
<input type="checkbox" id="check">
<div class="hamburger" onclick="myFunction(this)">
<div class="bar1"></div>
<div class="bar2"></div>
<div class="bar3"></div>
</div>
这是 CSS 代码:
#check {
display: none;
}
#menu{
background-color: white;
margin: 60px 0 0 0;
padding: 0;
display: block;
position: fixed;
font-size: 1.6rem;
justify-content: space-around;
font-weight: normal;
height: 100vh;
width: 100%;
align-items: center;
text-decoration: none;
list-style:none;
opacity: 0;
transition: 0.5s;
pointer-events: none;
}
#menu li{
text-align: center;
margin: 40px 0;
}
#menu.active{
pointer-events: auto;
opacity: 100;
}
这就是我为桌面分辨率所做的:
@media only screen and (min-width: 1000px) {
#menu{
padding: 0;
margin: 0;
display: flex;
position: fixed;
justify-content: space-between;
font-weight: normal;
height: 100px;
width: 40%;
align-items: center;
right: 100px;
text-decoration: none;
list-style:none;
opacity: 100%;
}
#menu li{
font-size: 1.2rem;
text-align: center;
z-index:9999999;
}
我不知道如何在不破坏我的手机和平板分辨率代码的情况下解决这个问题。
删除 Pointer 事件或对其进行评论
#menu{
background-color: white;
margin: 60px 0 0 0;
padding: 0;
display: block;
position: fixed;
font-size: 1.6rem;
justify-content: space-around;
font-weight: normal;
height: 100vh;
width: 100%;
align-items: center;
text-decoration: none;
list-style:none;
opacity: 0;
transition: 0.5s;
/*pointer-events: none;*/
}
使用 'onclick' 而不是 'onClick'。
您应该使用它,因为 Javascript 区分大小写。