不使用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 jquery做的图片连续滚动代码
Jan 06 Javascript
ExtJS Store的数据访问与更新问题
Apr 28 Javascript
js正则表达exec与match的区别说明
Jan 29 Javascript
js实现九宫格图片半透明渐显特效的方法
Feb 16 Javascript
浅析Javascript ES6新增值比较函数Object.is
Aug 24 Javascript
vue-quill-editor实现图片上传功能
Aug 08 Javascript
Vue.js实现网格列表布局转换方法
Aug 25 Javascript
详解JS函数stack size计算方法
Jun 18 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
Jan 06 Javascript
JS基于ES6新特性async await进行异步处理操作示例
Feb 02 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
Aug 29 Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
Mar 03 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
Mysql的GROUP_CONCAT()函数使用方法
2008/03/28 PHP
php pcntl_fork和pcntl_fork 的用法
2009/04/13 PHP
php-cli简介(不会Shell语言一样用Shell)
2013/06/03 PHP
smarty模板中拼接字符串的方法
2014/02/14 PHP
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
PHP实现的json类实例
2015/07/28 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
php常用经典函数集锦【数组、字符串、栈、队列、排序等】
2019/08/23 PHP
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
2016/07/25 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
2016/08/09 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
用自定义图片代替原生checkbox实现全选,删除以及提交的方法
2016/10/18 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
2016/12/18 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
2016/12/21 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
使用python加密自己的密码
2015/08/04 Python
Python3 循环语句(for、while、break、range等)
2017/11/20 Python
Python 函数基础知识汇总
2018/03/09 Python
Python实现决策树C4.5算法的示例
2018/05/30 Python
Python实现基于POS算法的区块链
2018/08/07 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
python3利用ctypes传入一个字符串类型的列表方法
2019/02/12 Python
Django框架 信号调度原理解析
2019/09/04 Python
Python中sorted()排序与字母大小写的问题
2020/01/14 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
python反编译教程之2048小游戏实例
2021/03/03 Python
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
电大本科自我鉴定
2014/02/05 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
cf搞笑广告词
2014/03/14 职场文书
2014年大学班级工作总结
2014/11/14 职场文书