不使用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 相关文章推荐
javascript与CSS复习(三)
Jun 29 Javascript
Knockout text绑定DOM的使用方法
Nov 15 Javascript
js键盘上下左右键怎么触发function(实例讲解)
Dec 14 Javascript
理解Javascript图片预加载
Feb 23 Javascript
JavaScript高级程序设计(第三版)学习笔记1~5章
Mar 11 Javascript
详解Vue组件之间的数据通信实例
Jun 17 Javascript
JavaScript实现时间表动态效果
Jul 15 Javascript
Vue.js实现可配置的登录表单代码详解
Mar 29 Javascript
微信小程序实现bindtap等事件传参
Apr 08 Javascript
详解Bootstrap 学习(一)入门
Apr 12 Javascript
Vue两种组件类型:递归组件和动态组件的用法
Aug 06 Javascript
JavaScript Blob对象原理及用法详解
Oct 14 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
综合图片计数器
2006/10/09 PHP
php session处理的定制
2009/03/16 PHP
php 生成静态页面的办法与实现代码详细版
2010/02/15 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
JS判断元素为数字的奇异写法分享
2012/08/01 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
js获取当前日期时间及其它日期操作汇总
2016/03/08 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
angularjs的select使用及默认选中设置
2017/04/08 Javascript
iview日期控件,双向绑定日期格式的方法
2018/03/15 Javascript
jQuery-ui插件sortable实现自由拖动排序
2018/12/01 jQuery
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
js实现右键弹出自定义菜单
2020/09/08 Javascript
python生成指定尺寸缩略图的示例
2014/05/07 Python
举例区分Python中的浅复制与深复制
2015/07/02 Python
python打包压缩、读取指定目录下的指定类型文件
2018/04/12 Python
django-初始配置(纯手写)详解
2019/07/30 Python
Python实现括号匹配方法详解
2020/02/10 Python
Keras设置以及获取权重的实现
2020/06/19 Python
python用tkinter实现一个简易能进行随机点名的界面
2020/09/27 Python
python 爬取百度文库并下载(免费文章限定)
2020/12/04 Python
俄罗斯童装网上商店:BebaKids
2020/06/06 全球购物
基层工作经历证明
2014/01/13 职场文书
小学生元旦感言
2014/02/26 职场文书
生态养殖创业计划书
2014/05/06 职场文书
家长学校工作方案
2014/05/07 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
营业用房租赁协议书
2014/11/26 职场文书
邀请书模板
2015/02/02 职场文书
入党个人总结范文
2015/03/02 职场文书
教师节大会主持词
2015/07/06 职场文书
办公室卫生管理制度
2015/08/04 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫