不使用JavaScript实现菜单的打开和关闭效果demo


Posted in Javascript onMay 01, 2018

我在写有菜单栏的网页时,基本都会用响应式设计来适配移动端,例如把不重要的菜单选项隐藏,或者创建一个菜单按钮来控制的菜单的打开和关闭之类的。而我之前一直是使用JavaScript来实现菜单的打开和关闭的,但最近在网上看到有人使用CSS和HTML来实现这一功能,让我真正的感受到手里只要有一把锤,什么都可以做钉子。

实现之前先来看一下HTML标签和输入类型:

label

<label> 标签为 input 元素定义标注(标记)。

label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。

<label> 标签的 for 属性应当与相关元素的 id 属性相同。

Input Type: checkbox

<input type="checkbox"> 定义复选框。

复选框允许用户在有限数量的选项中选择零个或多个选项。

下面是demo的代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>menu demo</title>
  <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="external nofollow" >
  <style>
    .demo {
      text-align: center;
    }
    /* 点击checkbox时,菜单打开或显示 */
    #menu-checkbox:checked ~ .nav {
      display: none;
    }
    /* 隐藏checkbox的复选框 */
    #menu-checkbox {
      display: none;
    }
    .nav ul{
      list-style: none;
      margin: 0;
      padding: 0;
      font-size: 20px;
    }
    .glyphicon-menu-hamburger {
      font-size: 30px;
      margin-top: 50px;
    }
  </style>
</head>
<body>  
  <div class="demo">
    <!-- label绑定checkbox -->
    <label for="menu-checkbox"><span class="glyphicon glyphicon-menu-hamburger"></label> 
    <input id="menu-checkbox" type="checkbox">
    <div class="nav">
      <ul>
        <li>aaa</li>
        <li>bbb</li>
        <li>ccc</li>
        <li>ddd</li>
      </ul>
    </div>
  </div>
</body>
</html>

效果:

不使用JavaScript实现菜单的打开和关闭效果demo

点击上面的hamburger图标,菜单就会显示和隐藏。

虽然是很简单的一个东西,不过它对于我而言更多的是一种启发。

以上所述是小编给大家介绍的不使用JavaScript实现菜单的打开和关闭效果,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
JS 自动安装exe程序
Nov 30 Javascript
js中有关IE版本检测
Jan 04 Javascript
javascript实现树形菜单的方法
Jul 17 Javascript
jquery表单验证需要做些什么
Nov 17 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
Jun 24 Javascript
js事件驱动机制 浏览器兼容处理方法
Jul 23 Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
Aug 08 Javascript
jQuery删除节点用法示例(remove方法)
Sep 08 Javascript
原生js编写2048小游戏
Mar 17 Javascript
js编写选项卡效果
May 23 Javascript
基于JS实现带动画效果的流程进度条
Jun 01 Javascript
vue实现点击按钮切换背景颜色的示例代码
Jun 23 Javascript
如何获取TypeScript的声明文件.d.ts
May 01 #Javascript
Vue项目中使用Vux的安装过程
May 01 #Javascript
在Vue项目中使用d3.js的实例代码
May 01 #Javascript
详解ajax的data参数错误导致页面崩溃
Apr 30 #Javascript
妙用缓存调用链实现JS方法的重载
Apr 30 #Javascript
JS实现的缓冲运动效果示例
Apr 30 #Javascript
Vue波纹按钮组件制作
Apr 30 #Javascript
You might like
PHP中对于浮点型的数据需要用不同的方法解决
2014/03/11 PHP
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
IE事件对象(The Internet Explorer Event Object)
2012/06/27 Javascript
jquery创建一个新的节点对象(自定义结构/内容)的好方法
2013/01/21 Javascript
关于Javascript与iframe的那些事儿
2013/07/04 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
IE中document.createElement的iframe无法设置属性name的解决方法
2015/09/14 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
2016/04/18 Javascript
javascript如何创建对象
2016/08/29 Javascript
JavaScript仿网易选项卡制作代码
2016/10/06 Javascript
Bootstrap入门教程一Hello Bootstrap初识
2017/03/02 Javascript
web.js.字符串与正则表达式操作
2017/05/13 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
javascript将非数值转换为数值
2018/09/13 Javascript
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
layui-laydate时间日历控件使用方法详解
2018/11/15 Javascript
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
vue模式history下在iis中配置流程
2019/04/17 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
2019/11/26 Javascript
JavaScript 中判断变量是否为数字的示例代码
2020/10/22 Javascript
[01:46]新英雄登场
2019/09/10 DOTA
介绍Python的Django框架中的静态资源管理器django-pipeline
2015/04/25 Python
Python匹配中文的正则表达式
2016/05/11 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
Python Pexpect库的简单使用方法
2019/01/29 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
TensorFlow内存管理bfc算法实例
2020/02/03 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
.net软件工程师应聘上机试题
2015/03/10 面试题
北京振戎融通Java面试题
2015/09/03 面试题
微观物理专业自荐信
2014/01/26 职场文书
医德医风个人工作总结2014
2014/11/14 职场文书
酒店工程部主管岗位职责
2015/04/16 职场文书
企业法律事务工作总结
2015/08/11 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python