不使用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 相关文章推荐
Jquery封装tab自动切换效果的具体实现
Jul 13 Javascript
JQuery插件jcarousellite的参数中文说明
May 11 Javascript
AngularJS中使用HTML5手机摄像头拍照
Feb 22 Javascript
jQuery通过写入cookie实现更换网页背景的方法
Apr 15 Javascript
jQuery选择器及jquery案例详解(必看)
May 20 Javascript
AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
Jan 19 Javascript
js自定义瀑布流布局插件
May 16 Javascript
浅谈关于axios和session的一些事
Jul 13 Javascript
vue多页面开发和打包正确处理方法
Apr 20 Javascript
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
Apr 27 jQuery
vue移动端使用canvas签名的实现
Jan 15 Javascript
详解JavaScript 中的批处理和缓存
Nov 19 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 curl post 时出现的问题解决
2014/01/30 PHP
详解json在php中的应用
2018/09/30 PHP
基于javascript的JSON格式页面展示美化方法
2014/07/02 Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
2015/05/03 Javascript
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
2016/02/22 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
jQuery实现获取元素索引值index的方法
2016/09/18 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
JS获取子节点、父节点和兄弟节点的方法实例总结
2018/07/06 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
2019/04/23 Javascript
Layer UI表格列日期格式化及取消自动填充日期的实现方法
2020/05/10 Javascript
通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法
2020/08/24 Javascript
node koa2 ssr项目搭建的方法步骤
2020/12/11 Javascript
[17:45]DOTA2 HEROES教学视频教你分分钟做大人-军团指挥官
2014/06/11 DOTA
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
Python线程池模块ThreadPoolExecutor用法分析
2018/12/28 Python
Python调用服务接口的实例
2019/01/03 Python
python pygame实现方向键控制小球
2019/05/17 Python
安装好Pycharm后如何配置Python解释器简易教程
2019/06/28 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
python3 线性回归验证方法
2019/07/09 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
2019/08/20 Python
django 配置阿里云OSS存储media文件的例子
2019/08/20 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
Python While循环语句实例演示及原理解析
2020/01/03 Python
python对Excel的读取的示例代码
2020/02/14 Python
django跳转页面传参的实现
2020/09/17 Python
python 使用OpenCV进行简单的人像分割与合成
2021/02/02 Python
中国综合网上购物商城:苏宁易购
2016/08/09 全球购物
骨干教师培训制度
2014/01/13 职场文书
财务管理职业生涯规划书
2014/02/26 职场文书
大学新生军训自我鉴定范文
2014/09/13 职场文书
发工资啦!教你用Python实现邮箱自动群发工资条
2021/05/10 Python
如何使用pdb进行Python调试
2021/06/30 Python
Mongo服务重启异常问题的处理方法
2021/07/01 MongoDB