不使用JavaScript实现菜单的打开和关闭
程序员文章站
2022-04-19 19:16:36
我在写有菜单栏的网页时,基本都会用响应式设计来适配移动端,例如把不重要的菜单选项隐藏,或者创建一个菜单按钮来控制的菜单的打开和关闭之类的。而我之前一直是使用JavaScript来实现菜单的打开和关闭的,但最近在网上看到有人使用CSS和HTML来实现这一功能,让我真正的感受到手里只要有一把锤,什么都可 ......
我在写有菜单栏的网页时,基本都会用响应式设计来适配移动端,例如把不重要的菜单选项隐藏,或者创建一个菜单按钮来控制的菜单的打开和关闭之类的。而我之前一直是使用JavaScript来实现菜单的打开和关闭的,但最近在网上看到有人使用CSS和HTML来实现这一功能,让我真正的感受到手里只要有一把锤,什么都可以做钉子。
实现之前先来看一下HTML标签和输入类型:
label
<label> 标签为 input 元素定义标注(标记)。
label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。
<label> 标签的 for 属性应当与相关元素的 id 属性相同。
Input Type: checkbox
<input type="checkbox"> 定义复选框。
复选框允许用户在有限数量的选项中选择零个或多个选项。
下面是demo的代码:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 7 <title>menu demo</title> 8 <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"> 9 <style> 10 .demo { 11 text-align: center; 12 } 13 /* 点击checkbox时,菜单打开或显示 */ 14 #menu-checkbox:checked ~ .nav { 15 display: none; 16 } 17 /* 隐藏checkbox的复选框 */ 18 #menu-checkbox { 19 display: none; 20 } 21 .nav ul{ 22 list-style: none; 23 margin: 0; 24 padding: 0; 25 font-size: 20px; 26 } 27 .glyphicon-menu-hamburger { 28 font-size: 30px; 29 margin-top: 50px; 30 } 31 </style> 32 </head> 33 <body> 34 <div class="demo"> 35 <!-- label绑定checkbox --> 36 <label for="menu-checkbox"><span class="glyphicon glyphicon-menu-hamburger"></label> 37 <input id="menu-checkbox" type="checkbox"> 38 <div class="nav"> 39 <ul> 40 <li>aaa</li> 41 <li>bbb</li> 42 <li>ccc</li> 43 <li>ddd</li> 44 </ul> 45 </div> 46 </div> 47 </body> 48 </html>
效果:
点击上面的hamburger图标,菜单就会显示和隐藏。
虽然是很简单的一个东西,不过它对于我而言更多的是一种启发。
推荐阅读
-
C#中通过使用Connection类来实现打开/关闭数据库的代码实例
-
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
-
如何使用PHP实现javascript的escape和unescape函数
-
JavaScript使用原型和原型链实现对象继承的方法详解
-
不使用JavaScript实现菜单的打开和关闭效果demo
-
不使用JavaScript实现菜单的打开和关闭
-
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
-
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
-
使用函数递归实现基于php和MySQL的动态树型菜单
-
打开和关闭mysql服务的两种实现方法