响应式布局---菜单

一个简单的响应式菜单,仅使用@media query实现.

响应式菜单

上图的作用就是将普通的菜单在缩小浏览器屏幕到一定宽度,或者是在移动设备上的显示效果.现在分步进行实现:

第一步:先构建一个普通的菜单,具体显示如图:

结构如下:

<nav class="nav"><ul><li class="current"><a href="#">Portfolio</a></li><li><a href="#">Illustration</a></li><li><a href="#">Web Design</a></li><li><a href="#">Print Media</a></li><li><a href="#">Graphic Design</a></li></ul>
</nav>
/* nav */
.nav {position: relative;margin: 20px 0;
}
.nav ul {margin: 0;padding: 0;
}
.nav li {margin: 0 5px 10px 0;padding: 0;list-style: none;display: inline-block;
}
.nav a {padding: 3px 12px;text-decoration: none;color: #999;line-height: 100%;
}
.nav a:hover {color: #000;
}
.nav .current a {background: #999;color: #fff;border-radius: 5px;
}

第二步:实现响应式.

下面的例子展示了当屏幕为600px或者小于600px时,菜单就显示为第一幅图中右边的结果,CSS代码如下:

@media screen and (max-width: 600px) {.nav {position: relative;min-height: 40px;}    .nav ul {width: 180px;padding: 5px 0;position: absolute;top: 0;left: 0;border: solid 1px #aaa;background: #fff url(images/icon-menu.png) no-repeat 10px 11px;border-radius: 5px;box-shadow: 0 1px 2px rgba(0,0,0,.3);}.nav li {display: none; /* hide all <li> items */margin: 0;}.nav .current {display: block; /* show only current <li> item */}.nav a {display: block;padding: 5px 5px 5px 32px;text-align: left;}.nav .current a {background: none;color: #666;}/* on nav hover */.nav ul:hover {background-image: none;}.nav ul:hover li {display: block;margin: 0 0 5px;}.nav ul:hover .current {background: url(images/icon-check.png) no-repeat 10px 7px;}/* right nav */.nav.right ul {left: auto;right: 0;}/* center nav */.nav.center ul {left: 50%;margin-left: -90px;}}

试着缩小你的浏览器到600px或者小于600px,这是你的菜单应用了600px时的样式.

第三步:兼容性

<nav>和media query是HTML5的内容,IE8及以下不支持.需要添加一下JS来兼容.

<!--[if lt IE 9]><script src="http://css3-mediaqueries-js.googlecode.com/files/css3-mediaqueries.js"></script><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

总结:

这只是个简单的响应式例子,你可以根据自己的页面布局应用不同的media query,来实现页面的响应式布局.

 

转载于:https://www.cnblogs.com/huangxi/p/4222174.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/406516.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Element el-row el-col 布局组件详解

本文目录 背景分栏布局分栏间隔分栏偏移对齐方式响应式布局小结 1. 背景 element的布局方式与bootstrap原理是一样的&#xff0c;将网页划分成若干行&#xff0c;然后每行等分为若干列&#xff0c;基于这样的方式进行布局&#xff0c;形象的成为栅栏布局。 区别是element可…

C# WinForm 中Label自动换行 解决方法

From: http://hi.baidu.com/tewuapple/blog/item/74070a2451cbcc7c36a80f76.html 在TableLayoutPannel中放着一些Label 如果把Label的AutoSize属性设成True的话&#xff0c;文字超过label长度时就会自动增加&#xff0c;直到后面的字出窗体以外 设置成False时&#xff0c;一旦…

项目最终复审报告

“北航学堂”项目最终复审报告 一、团队成员简介 Sevens团队在M1和M2阶段都是一共有七名队员&#xff0c;M1阶段我们的团队成员有&#xff1a;陈少杰&#xff0c;金鑫&#xff0c;高孟烨&#xff0c;雷元勇&#xff0c;王迪&#xff0c;邓亚梅&#xff0c;郑培蕾&#xff1b;在…

旁门左道也谈cacti安装

cacti作为一个优秀的流量监控软件&#xff0c;很多人都在用它&#xff0c;很多人也很想使用它。但是后面的这很多人&#xff0c;确没有能用上它。为啥呢&#xff1f;有句话说&#xff1a;“今天很难过&#xff0c;明天很难熬&#xff0c;后天很美好&#xff0c;但是很多人在明天…

js二进制流转Blob对象。Blob对象再转File对象

JavaScript 二进制转文件 使用js将blob对象转file对象 前端处理后端返回的二进制流文件 js中Blob对象一般用法 js中关于Blob对象的介绍与使用 上传的文件对象 完整代码实例 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8…

element-ui cascader 级联选择器 存最后一级id及回显

:props"{emitPath:false}" 加上这行就可以&#xff0c;只存最后一级id&#xff0c;且以最后一级id完整回显。<el-cascader expand-trigger"click" placeholder"请输入" filterable clearable:props"{emitPath:false}":options"…

freebsd点到点的ipsec ***

使用 FreeBSD 网关在两个被 Internet 分开的网络之间架设 ,以实现两个网络通过通道互访&#xff0c;IPsec 是一种建立在 Internet 协议 (IP) 层之上的协议&#xff0c;它能够让两个或更多主机以安全的方式来通讯&#xff0c;IPsec 既可以用来直接加密主机之间的网络通讯 (也就是…

怎么使用7zip进行分批压缩_怎么使用钢结构抛丸机对钢结构进行除锈?

我们生活中所见的钢结构用的时间长了以后都会产生锈渍&#xff0c;表面还会存在各种污浊物&#xff0c;所以说除锈处理是钢结构生产环节的一道主要工序&#xff0c;如果处理不好直接影响钢结构的品质和质量&#xff0c;使钢结构的维修周期缩短或影响使用寿命&#xff0c;有时会…

(简单) POJ 3984 迷宫问题,BFS。

Description 定义一个二维数组&#xff1a; int maze[5][5] {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0, }; 它表示一个迷宫&#xff0c;其中的1表示墙壁&#xff0c;0表示可以走的路&#xff0c;只能横着走或竖着走&#xff0c;不能斜着走&…

一个托盘程序演示 -闹钟 Alert

From: http://www.vckbase.com/document/viewdoc/?id996 下载源代码 关键字&#xff1a;托盘 Tray   想必大家都看见过那些在系统托盘&#xff08;Tray&#xff09;中的程序吧&#xff0c;本文就演示了如何创建一个这样的托盘程序Alert。Alert是一个运行在系统托盘中的小…

adam算法效果差原因_冷库制冷效果差原因

冷库常见的现象有冷库温度降不下来和下降缓慢的时候&#xff0c;现在对库温下降缓慢的原因简单分析&#xff1a;1、冷库工程由于隔热或密封性能差&#xff0c;导致冷量损耗大隔热性能差是由于管道、库房隔热墙等的保温层厚度不够&#xff0c;隔热和保温效果不良&#xff0c;它主…

解决hive交互模式退格键乱码

在hive的交互模式下&#xff0c;输入退格、方向键等&#xff0c;出现乱码&#xff0c;可以通过如下方法解决&#xff1a; 1、修改bashrc文件&#xff1a; vi ~/.bashrc 在文件最后添加一行&#xff1a; stty erase ^H。 2、使修改生效&#xff1a; source ~/.bashrc 这样&#…

VS2010删除所有断点时不弹出提示窗口

用VS.NET平台程序时&#xff0c;如何才能在删除所有断点时不弹出提示窗口呢&#xff1f;请看下图&#xff0c;马上明白&#xff1a;

关于Eclipse基本设置(字体大小、项目导入、简单)

1、如果事先你用其他软件写好了一个项目文件夹&#xff0c;导入到Eclipse继续编辑&#xff0c;可以&#xff1a; 打开File→Import→Genral→File System→ Next &#xff0c;然后选择文件夹&#xff08;建议在导入之前&#xff0c;先建立一个工程object&#xff09; 2、字体大…

多通道_人机交互界面的多通道RGB LED驱动设计

现在的产品变得非常智能且彼此相互连接。扬声器、电视、冰箱、机顶盒和烟雾探测器等器件不再只是处在某一位置的工具 - 用户可远程或通过语音唤醒控制它们。这些器件比以前更加智能&#xff0c;这意味着它们还需要更加智慧的人机交互界面。  人机交互的界面可以多种多样&…

转,rsa算法

[编辑] 公钥和私钥的产生 假设Alice想要通过一个不可靠的媒体接收Bob的一条私人訊息。她可以用以下的方式来产生一个公钥和一个私钥&#xff1a;随意选择两个大的质数p和q&#xff0c;p不等于q&#xff0c;计算Npq。 根据歐拉函數&#xff0c;不大于N且与N互质的整数个数为(p-1…

宿舍管理系统项目管理师_2020下半年信息系统项目管理师真题——案例分析(带解析)...

2020下半年信息系统项目管理师真题——案例分析(带解析~强哥版)案例分析这次继续是计算题分析题的分布&#xff0c;但这个题由于理解上有歧义&#xff0c;所以也是大家经常争论的一个题&#xff0c;但无论第一列还是第二列对考分影响不会很大&#xff0c;所以大家还是要耐心等成…