【发布时间】:2021-10-23 03:11:16
【问题描述】:
所以我在点击时进行菜单交互,如果你想看一下,这是我的代码 sn-p。
let btn = document.querySelector('.trigger');
let icons = document.querySelector('.icons');
let labels = document.querySelector('.labels');
btn.onclick = function() {
icons.classList.toggle('active');
labels.classList.toggle('active');
}
body {
background: #222;
}
.trigger {
cursor: pointer;
}
nav {
position: absolute;
top: 30px;
right: 30px;
color: #222;
}
nav ul.icons {
background: #fff;
width: 60px;
height: 60px;
overflow: hidden;
border-radius: 60px;
transition: 1s ease;
}
nav ul.icons:hover {
height: 100%;
}
nav ul li {
list-style: none;
}
<html lang="en">
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
</head>
<body>
<nav>
<ul class="icons">
<li class="trigger">
<i class="fas fa-bars"></i>
</li>
<li><i class="fas fa-home"></i></li>
<li><i class="fas fa-users"></i></li>
<li><i class="fas fa-concierge-bell"></i></li>
<li><i class="fas fa-pen"></i></li>
<li><i class="fas fa-phone-alt"></i></li>
</ul>
</nav>
</body>
</html>
我遇到的问题是,transition 属性不能很好地与 CSS 中的高度一起使用。是否有我没有注意到的问题,是否有快速解决方法?
【问题讨论】:
-
首先,您的 css 中没有任何
active类。那你想达到什么目的?? -
@KunalTanwar 说了什么。此外,当您创建
.active类时,您需要设置准确的height值才能使转换生效。 -
@KunalTanwar 单击菜单按钮时将出现活动类,顺便说一下它在javascript中。
标签: javascript html css menu interaction