📅  最后修改于: 2023-12-03 14:54:08.743000             🧑  作者: Mango
幽灵菜单(Ghost Menu)是一种常见于前端开发中的UI设计模式,它是一种隐藏式菜单,只有在特定条件下才会显示。常见的应用场景是在移动端应用或响应式网站中,为了节省页面空间,隐藏不常用的菜单项。在用户需要使用菜单时,通过点击或滑动等操作触发显示菜单。
实现幽灵菜单有多种方式,其中一种常用的方式是使用CSS3中的transition和transform属性,通过对菜单容器的高度或宽度进行动画变换来实现菜单的显示和隐藏。其中需要注意的是,在菜单容器的高度/宽度变化时,需要对子菜单/按钮等元素进行样式上的调整,以保证菜单的美观和实用性。
<div class="menu-container">
<div class="menu-button">
<i class="fa fa-bars"></i>
</div>
<ul class="menu-list">
<li><a href="#">菜单项1</a></li>
<li><a href="#">菜单项2</a></li>
<li><a href="#">菜单项3</a></li>
<li><a href="#">菜单项4</a></li>
</ul>
</div>
.menu-container {
position: relative;
}
.menu-list {
display: none;
position: absolute;
top: 100%;
left: 0;
}
.menu-container.active .menu-list {
display: block;
transition: all .3s ease-in-out;
transform: translateY(0);
}
上述代码中,通过初始设置.menu-list
为display:none
,在.menu-container
上添加position:relative
,再在.menu-list
上使用position:absolute
进行定位。然后,在菜单按钮.menu-button
上绑定事件,在点击时通过给.menu-container
添加.active
类来触发菜单的显示/隐藏。通过.menu-container.active .menu-list
的样式设置来控制菜单项的变换。