在前端开发中,隐藏展开的菜单可以通过以下代码片段实现:
HTML部分:
<div class="menu">
<button class="menu-button">菜单</button>
<ul class="menu-list">
<li>选项1</li>
<li>选项2</li>
<li>选项3</li>
</ul>
</div>
CSS部分:
.menu-list {
display: none;
}
.menu-button:focus + .menu-list,
.menu-list:focus-within {
display: block;
}
JavaScript部分(可选):
const menuButton = document.querySelector('.menu-button');
const menuList = document.querySelector('.menu-list');
menuButton.addEventListener('click', () => {
menuList.style.display = (menuList.style.display === 'block') ? 'none' : 'block';
});
上述代码片段中,通过CSS的display
属性控制菜单列表的显示与隐藏。初始状态下,菜单列表的display
属性设置为none
,即隐藏状态。当菜单按钮被点击(获得焦点)或菜单列表内部元素被点击(列表获得焦点)时,通过CSS选择器和伪类选择器的组合,将菜单列表的display
属性设置为block
,即展开状态。再次点击菜单按钮或点击菜单列表内部元素时,将菜单列表的display
属性重新设置为none
,即隐藏状态。
这样,当用户在容器外部单击时,菜单列表会隐藏或展开,实现了隐藏展开的菜单效果。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云云函数(SCF)。
领取专属 10元无门槛券
手把手带您无忧上云