javascript - 如何使用 CSS 和 Javascript 在我的菜单导航栏中添加动画
问题描述
我想在单击时将动画添加到从 0% 到 45% 的高度
HTML:
<header id="header">
<div class="contact">
<ul>
<li><i class="fas fa-phone"> (914) 296-0044</i></li>
<li>Address</li>
</ul>
</div>
<div class="header-navigation">
<ul class="links">
<li><a href="#">HOME</a></li>
<li><a href="#">PAINTING</a></li>
<li><a href="#">POWER WASHING</a></li>
<li><a href="#">LIGHT FIXTURE REPLACEMNET</a></li>
<li><a href="#">PLUMBING FIXTURE REPLACEMENT</a></li>
</ul>
<i class="fa fa-bars linkShow"></i>
</div>
</header>
CSS:
.linkShow {
display: block;
position: absolute;
right: 50%;
top: 15%;
}
.links {
display: none;
width: 100%;
height: 0%;
text-align: center;
background: var(--secondaryColor);
position: relative;
margin-top: 250px;
transition: all 0.7s linear;
}
.links a {
display: block;
padding: 0 140px;
transition: 0.5s ease-in-out;
}
.links a:hover {
background: var(--mainColor);
color: black;
}
.links li {
width: 100%;
}
Javascript:
const links = document.querySelector(".links");
const button = document.querySelector(".linkShow");
button.addEventListener("click", function () {
if (links.style.display === "block") {
links.style.display = "none";
} else {
links.style.display = "block";
}
});
我尝试添加新类并将高度设置为 45% 以显示并将类列表添加和删除到 javascript 但它不起作用
我也尝试了过渡高度 0.7s 线性,但它没有用
解决方案
您可以使用 CSS 完成此操作。
前往此链接 - https://css-tricks.com/using-css-transitions-auto-dimensions/
还要检查一下 -我如何转换高度:0;到高度:自动;使用 CSS?
希望这能回答你的问题。
推荐阅读
- html - 如何强制 div 保持固定宽度但垂直扩展?
- eclipse - 带有 JPA 的 Eclipse Photon:导入 javax.persistence 无法解决
- python - 为什么 python 3.5 找不到文件中导入的模块
- css - 本地版本与已部署版本不同
- arrays - 使用带有数组的 switch 语句时,“[String]”类型的表达式模式无法匹配“[String]”类型的值
- python - XGBoost 错误“DMatrix”对象不支持索引
- javascript - Worker 使用同步 XMLHttpRequest 从 GUI 获取数据
- java - primeNG 文件上传到字节 []
- python - Python XML Parsing - 需要更正while循环
- c# - 使用 Python 命令的 C# 进程(+路径参数)