
本文介绍如何使用checkbox复选框来控制导航的显示和隐藏从而制作一个响应式菜单导航效果.许多导航菜单(特别是响应式菜单)是使用HTML,CSS和Javascript的组合创建的。 这个简单的CSS方法将证明Javascript并不总是必要的!
checkbox复选框有两种状态,一种是选中,一种是取消选中,下面介绍如何根据这两种状态来实现菜单的控制效果。
思路
当屏幕为移动设备时,隐藏导航栏列表项目,显示菜单按钮。 点击菜单按钮, 复选框变成选中状态checked,并且显示导航栏列表项目, 再次点击菜单按钮,复选框变成取消选中状态,同时隐藏导航栏列表项目, 同理给菜单按钮(电脑时隐藏)checked 选择器 实现, checked的触发时动态修改菜单按钮样式。 这样就可以实现导航的控制
css 媒体查询
使导航栏响应要使用 css 媒体查询技术, 让我们的导航栏响应,以便它可以适应不同的屏幕尺寸,为此我们将使用 css 媒体查询。 在移动屏幕上,我们将有一个汉堡菜单,该菜单仅在具有小屏幕尺寸的移动设备上显示。
关键css代码
<style> #check{ position: absolute; top: 50%; right: 30px; transform: translateY(-50%); width: 2.5rem; height: 2.5rem; z-index: 90000; cursor: pointer; opacity: 0; display: none; } #check:checked ~ .hmenu-container .hmenu div{ background-color: transparent; } #check:checked ~ .hmenu-container .hmenu div::before{ transform: translateY(0) rotate(-45deg); } #check:checked ~ .hmenu-container .hmenu div::after{ transform: translateY(0) rotate(45deg); } #check:checked ~ .nav-btn{ transform: translateX(0); } </style>
这个css代码主要实现了复选框按钮选中状态下,菜单按钮样式的改变和导航菜单的显示或隐藏效果(translateX值的改变)