不使用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滚动条多种样式,推荐
Feb 05 Javascript
jQuery入门问答 整理的几个常见的初学者问题
Feb 22 Javascript
简单实用jquery版三级联动select示例
Jul 04 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
Jul 13 Javascript
javascript字符串替换及字符串分割示例代码
Dec 12 Javascript
JS获取select-option-text_value的方法
Dec 26 Javascript
详细解密jsonp跨域请求
Apr 15 Javascript
javascript 将共享属性迁移到原型中去的实现方法
Aug 31 Javascript
JS与jQuery实现隔行变色的方法
Sep 09 Javascript
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
Sep 19 Javascript
react组件从搭建脚手架到在npm发布的步骤实现
Jan 09 Javascript
原生js实现滑块区间组件
Jan 20 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学习笔记之 函数声明(二)
2011/06/09 PHP
PHP笔记之:基于面向对象设计的详解
2013/05/14 PHP
php绘图中显示不出图片的原因及解决
2014/03/05 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
2014/11/19 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
新浪中用来显示flash的函数
2007/04/02 Javascript
JS 建立对象的方法
2007/04/21 Javascript
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
2010/05/06 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
js实现超简单的展开、折叠目录代码
2015/08/28 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
Angular 2父子组件之间共享服务通信的实现
2017/07/04 Javascript
canvas基础绘制-绚丽倒计时的实例
2017/09/17 Javascript
angular之ng-template模板加载
2017/11/09 Javascript
关于Webpack dev server热加载失败的解决方法
2018/02/22 Javascript
微信小程序在其他页面监听globalData中值的变化
2019/07/15 Javascript
Python 字符串操作实现代码(截取/替换/查找/分割)
2013/06/08 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
python WindowsError的错误代码详解
2017/07/23 Python
python requests指定出口ip的例子
2019/07/25 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
日本一家专门经营各种箱包的大型网站:Traveler Store
2016/08/03 全球购物
摩托车和ATV零件、配件和服装的首选在线零售商:MotoSport
2017/12/22 全球购物
阿根廷首家户外用品制造商和经销商:Montagne
2018/02/12 全球购物
日本最大的旅游网站:Rakuten Travel(乐天旅游)
2018/08/02 全球购物
主持人演讲稿范文
2013/12/28 职场文书
人事文员岗位职责
2014/02/16 职场文书
亲子活动总结
2014/04/26 职场文书
店铺转让协议书(2014版)
2014/09/23 职场文书
2015年语言文字工作总结
2015/07/23 职场文书
JavaScript实现显示和隐藏图片
2021/04/29 Javascript
Anaconda配置各版本Pytorch的实现
2021/08/07 Python
python超详细实现完整学生成绩管理系统
2022/03/17 Python