【发布时间】:2021-01-13 09:25:15
【问题描述】:
我有一个几乎完整的下拉菜单,其中只有 1 个我无法弄清楚的错误/问题。我的导航链接到主页上的不同区域。因此,在主页上,用户可以单击导航链接,该链接会立即将他们带到页面上所需的位置。
我的问题出现在用户点击导航链接时,他们被带到该位置,但下拉菜单不会关闭。
除此之外,我还想为我的菜单从上到下设置动画,这样看起来更优雅。 我尝试了很多东西,但我似乎无法让它工作.. 希望你能帮帮我!
.toggle, [id^=drop] {
display: none;
}
nav {
margin:0;
padding: 0;
float: center;
position: absolute;
z-index: 400;
border: solid 0px;
}
nav ul {
float: center;
position: relative;
width: 100vw;
}
.menu{
background: rgb(233, 233, 233);
background: linear-gradient(90deg, rgba(233, 233, 233,0.9) 40%, rgb(255, 101, 207) 99%);
background: -webkit-linear-gradient(90deg, rgba(233, 233, 233,0.9) 40%, rgb(255, 101, 207) 99%);
}
nav ul li {
text-align: center;
position: relative;
margin: 0px;
display:left;
}
nav a {
font-family: 'OggR';
color: black;
font-size:14px;
text-decoration:none;
position: relative;
text-align: center;
transition: 0.3s;
}
.toggle + a, .menu {
display: none;
}
.toggle {
position: fixed;
display: block;
padding:4px 20px;
color: rgb(233, 233, 233);
font-size:20px;
text-decoration:none;
width: 20px;
height: 30px;
z-index: 9999999999999999999;
}
<nav>
<label for="drop" class="toggle">☰</label>
<input type="checkbox" id="drop" />
<ul class="menu">
<li>
<li><a href="#abstract">ABSTRACT</a></li>
<li><a href="#introduction">INTRODUCTION</a></li>
<li><a href="#chapterI">I. <br>THE MEANING OF NOSTALGIA IN CULTURAL HISTORY</a></li>
<li><a href="#chapterII">II. <br>CONTEMPORARY NOSTALGIA</a></li>
<li><a href="#chapterIII">III. <br>THE TWO FACES OF NOSTALGIA</a></li>
<li><a href="#conclusion">CONCLUSION</a></li>
<li><a href="#bibliography">BIBLIOGRAPHY</a></li>
</ul>
</nav>
【问题讨论】:
-
你有js文件吗?如果是请分享,如果不是让我知道我可以发布 js 代码来告诉你如何实现它
-
打开/关闭菜单的代码在哪里?因为你的 CSS 没有
-
不好意思打错了,我确实有js:
-
function myFunction() { document.getElementById("myDropdown").classList.toggle("show"); } 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'); } } } } -
@sachava 不使用 javascript,只需 1-2 行 CSS 即可。我已经添加了答案,请查看。
标签: javascript html css