CSS+JS相应式导航菜单
响应式导航菜单
响应式导航菜单就是当网页在其他不同视口的样式,不同的设备需要不同的样式
需要掌握的知识
- 掌握媒体查询,如果你不是很懂那就看我写的CSS响应式布局
- 掌握CSS重的display:none;
- 简单的JS方法
下面是HTML代码
<!doctype html>
<html>
<head>
    <meta charset="utf-8"/>
    <title>响应式菜单</title>
    <link rel="stylesheet" type="text/css" href="demo01.css"/>
    <link href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.css" rel="stylesheet">
</head>
<body>
    <div class="nav">
        <div  class="btn">
            <i id="btn" class="fa fa-bars"></i>
        </div>
        <div class="pic"></div>
        <ul id="menu" class="clearfix">
            <li><a href="#">首页</a></li>
            <li><a href="#">产品</a></li>
            <li><a href="#">购买</a></li>
            <li><a href="#">服务</a></li>
            <li><a href="#">联系</a></li>
        </ul>
    </div>
</body>
</html>CSS样式
*{
    margin:0;
    padding:0;
    text-decoration:none;
    list-style:none;
}
.nav{
    background:blue;
    width:100%;
    position:relative;
}
.pic{
    background:url(bottom.jpg) no-repeat;
    position:absolute;
    width:128px;
    height:46px;
    top:8px;
    left:60px;
}
.btn{
    font-size:20px;
    color:#fff;
    background:#13138a;
    display:none;
}
.btn i{
    padding:20px;
}
ul{
    margin-left:200px;
}
ul li{
    float:left;
}
ul li a:hover{
    background:pink;
}
ul li a{
    display:block;
    padding:20px 30px;
    color:#fff;
}
.clearfix:after{
    display:block;
    height:0;
    content:"";
    visibility:hidden;
    clear:both;
}
@media screen and (max-width:768px){
    ul li{
        float:none;
        width:100%;
        text-align:center;
    }
    ul{
        width:100%;
        display:none;
        margin:0;
    }
    .btn{
        display:block;
    }
    .pic{
        left:50%;
        margin-left:-64px;
    }
}js代码:
<script type="text/javascript">
    var btn=document.getElementById("btn");
    var menu=document.getElementById("menu");
    btn.onclick=function(){
        if(menu.style.display=="block"){
            menu.style.display="none";
        }else{
            menu.style.display="block";
        }
        window.onresize=function(){
            var ww=document.documentElement.clientWidth;
            if(ww>768){
                menu.style.display="block";
            }
        }
    }
</script>当视口大于768px的时候:
当视口小于768px的时候,导航菜单需要隐藏起来:
持续更新,欢迎大家指教
CSS+JS相应式导航菜单的更多相关文章
- 响应式导航菜单(css+js)
		1.响应式导航菜单 先来看下效果图把: 当视口大于640px的时候,导航条会显示在外,当视口小于768px的时候,导航菜单需要隐藏起来!代码如下: <!doctype html> < ... 
- web--响应式导航菜单
		响应式导航菜单 代码如下 HTML代码: <!DOCTYPE html> <html lang="en"> <head> <meta ch ... 
- 下拉的DIV+CSS+JS二级树型菜单
		<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ... 
- python测试开发django-41.crispy-forms设计标签式导航菜单(TabHolder)
		前言 xadmin的详情页面主要是用form_layout布局,学会了完全可以不用写html代码,也能做出很好看的页面. xadmin的html页面是用的Bootstrap3框架设计的,layout布 ... 
- BootStrap实现简单响应式导航菜单
		用BootStrap实现响应式导航栏,我会对其中的一些样式进行说明. 先上代码,是一个很简单的Demo. <!doctype html> <html> <head&g ... 
- js实现当前导航菜单高亮显示
		为了增加用户体验度,增加网页的易用性和美观度,往往需要把当前导航菜单以特殊方式显示,通常是高亮显示或有不同于其它菜单的背景,有两种方法可以实现,第一种是用纯css来实现,二是用js辅助css来实现,两 ... 
- CSS实现弹出导航菜单
		查看实际效果:http://keleyi.com/a/bjac/vksd7321.htm 完整代码,保存在html文件打开也可看到效果: <!DOCTYPE html PUBLIC " ... 
- 用js实现超链接导航菜单点击切换选中时的状态
		项目中使用到点解导航切换不同的颜色,如果只是li选项卡还好办,这次用到的超链接选项卡,因为a链接每次点击都会刷新,所以浏览器记不住点击的状态,也没法切换点击状态,因为项目中有好多地方要用到,在网上找了 ... 
- javascript笔记09:javascript的下拉式导航菜单
		<!DOCTYPE html> <html> <body> <script> function hideAll() { for(i=0;i<odi ... 
随机推荐
- Spring Boot 2.x 整合 Redis最佳实践
			一.前言 在前面的几篇文章中简单的总结了一下Redis相关的知识.本章主要讲解一下 Spring Boot 2.0 整合 Redis.Jedis 和 Lettuce 是 Java 操作 Redis 的 ... 
- docker-compose up Windows named pipe error:(code: 2)
			执行docker-compose up启动项目时,报如下错误: ERRORERROR: Windows named pipe error: 膸碌脥艂艕艊藳禄碌藵脰赂露篓碌脛脦脛慕牛藝艁 (code: ... 
- open 管道用法|Getopt::Long
			#!/usr/bin/perl use strict; use warnings; use Getopt::Long; my ($number,$in,$out); GetOptions( " ... 
- VS编译release版本的出现的LNK1104	无法打开文件“libboost_filesystem-vc140-mt-1_58.lib
			最近在用restbed和vs2015做一个项目,debug编译的没问题,但是编译release就有问题,困扰了一天,说下我的出坑过程. 1.我用到了外部的库 restbed ,首先要想正确编译过,你的 ... 
- linux 新添加的硬盘格式化并挂载到目录下方法
			需求: 新增加一块硬盘sdb,将sdb分区,只分一个区,格式化,挂载到目录/ssd下.原文:https://www.cnblogs.com/ddbear/p/7009736.html 1. 查看现在 ... 
- 基于ci框架 修改出来了一个带农历的万年历。
			1这里没有写model:代码一看就懂,没什么负杂地方,就是麻烦一点. 直接control模块的代码: <?php if ( ! defined('BASEPATH')) exit('No dir ... 
- UVALive 3835:Highway(贪心 Grade D)
			VJ题目链接 题意:平面上有n个点,在x轴上放一些点,使得平面上所有点都能找到某个x轴上的点,使得他们的距离小于d.求最少放几个点. 思路:以点为中心作半径为d的圆,交x轴为一个线段.问题转换成用最少 ... 
- POJ 1251  & HDU 1301 Jungle Roads
			题目: Description The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign ... 
- <luogu1347>排序
			本来打算当打了个拓扑的板子 后来发现并不只是个板子 差不多 管他呢 #include<cstdio> #include<cstring> #include<iostrea ... 
- 吴裕雄--天生自然python学习笔记:Python3 输入和输出
			输出格式美化 Python两种输出值的方式: 表达式语句和 print() 函数. 第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用. 如果你希望输出的 ... 
