不使用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 相关文章推荐
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
Oct 24 Javascript
JQuery控制radio选中和不选中方法总结
Apr 15 Javascript
JSON与XML优缺点对比分析
Jul 17 Javascript
js弹出框、对话框、提示框、弹窗实现方法总结(推荐)
May 31 Javascript
vue动态组件实现选项卡切换效果
Mar 08 Javascript
vue router仿天猫底部导航栏功能
Oct 18 Javascript
JavaScript中关于base64的一些事
May 06 Javascript
JS块级作用域和私有变量实例分析
May 11 Javascript
layui 解决富文本框form表单提交为空的问题
Oct 26 Javascript
vue框架中props的typescript用法详解
Feb 17 Javascript
微信小程序选择图片控件
Jan 19 Javascript
Vue多选列表组件深入详解
Mar 02 Vue.js
如何获取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/04/08 PHP
仿校内登陆框,精美,给那些很厉害但是没有设计天才的程序员
2008/11/24 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
javascript定时变换图片实例代码
2013/03/17 Javascript
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
jQuery+PHP打造滑动开关效果
2014/12/16 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
讲解JavaScript中for...in语句的使用方法
2015/06/03 Javascript
基于jQuery实现美观且实用的倒计时实例代码
2015/12/30 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
2017/10/26 Javascript
完美解决iview 的select下拉框选项错位的问题
2018/03/02 Javascript
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
2018/08/16 Javascript
使用微信小程序开发弹出框应用实例详解
2018/10/18 Javascript
详解常用查找数据结构及算法(Python实现)
2016/12/09 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
2018/06/28 Python
浅谈python的dataframe与series的创建方法
2018/11/12 Python
使用Python实现跳帧截取视频帧
2019/05/31 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
python3.8 微信发送服务器监控报警消息代码实现
2019/11/05 Python
Python在字符串中处理html和xml的方法
2020/07/31 Python
详解python内置模块urllib
2020/09/09 Python
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
定制别致的瑜伽垫:Sugarmat
2019/06/21 全球购物
会计实习自我鉴定
2013/12/04 职场文书
中式餐厅创业计划书范文
2014/01/23 职场文书
工程力学专业自荐信范文
2014/03/17 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
刑事撤诉申请书
2015/05/18 职场文书
文化大革命观后感
2015/06/17 职场文书
爱国影片观后感
2015/06/18 职场文书
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers
pandas求平均数和中位数的方法实例
2021/08/04 Python