响应式布局之网站头部导航
网页支持响应式布局的好处我就不说了,这里我通过写一个简单的网站导航来学习响应布局的开发
Meta标签定义
<!--使用 viewport meta 标签在手机浏览器上控制布局--> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" /> <!--通过快捷方式打开时全屏显示--> <meta name="apple-mobile-web-app-capable" content="yes" /> <!--隐藏状态栏--> <meta name="apple-mobile-web-app-status-bar-style" content="blank" /> <!--iPhone会将看起来像电话号码的数字添加电话连接,应当关闭--> <meta name="format-detection" content="telephone=no" />
定义body中的结构
<div class="nav"> <ul> <li> <a href="#" class="actived">网站首页</a> </li> <li> <a href="#">公司案例</a> </li> <li> <a href="#">公司相册</a> </li> <li> <a href="#">团队博客</a> </li> <li> <a href="#">关于我们</a> </li> </ul> <img src="img/more_black.png" /> </div>
定义样式
<style type="text/css"> body { margin: 0; padding: 0; } .nav { position: relative; background-color: #fff; height: 78px; width: 100%; border-bottom: 1px solid #DADADA; } .nav img { position: absolute; right: 20px; top: 30px; width: 28px; display: none; } .nav ul { list-style: none; margin: 0; padding: 0; text-align: center; } .nav ul li { height: 78px; width: 168px; line-height: 78px; text-align: center; display: inline-block; } .nav ul li:hover { cursor: pointer; } .nav ul li a { text-decoration: none; color: #666; padding-bottom: 8px; } .nav ul li .actived { border-bottom: 3px solid #EE5C42; } </style>
查看效果图
可以看到导航已经显示出来了,我们给导航加上点击事件以改变导航选中样式
<script> $(function() { $(".nav ul li").click(function() {//导航点击 $(".nav ul li a").removeClass("actived"); $(this).children("a").addClass("actived"); }); }); </script>
那如果说我们想要支持响应式布局该怎么做呢?
上面最开始我们已经添加支持手机的Meta相关标签元素了,接着我们通过媒体查询来使我们手机支持响应式导航显示
主要用到@media only screen and (max-width: 878px) {} 设置当屏幕宽度小于878px的时候执行里面的样式
这里我们先在右上角显示一个图标,然后点击图标的时候显示右侧的导航,再点击图标隐藏右侧的导航
我们继续在Style标签内添加以下样式
/*媒体查询*/ /*屏幕宽度小于878px的时候执行里面的css*/ @media only screen and (max-width: 878px) { .nav img { display: inline; } .nav ul { position: absolute; right: 0; text-align: right; top: 78px; display: none; } .nav ul li { display: block; border: 1px solid #dadada; height: 58px; line-height: 58px; width: 98px; } .nav ul li a { display: block; padding-bottom: 0; } .nav ul li .actived { border-bottom: none; } .nav ul li a:hover { background-color: #6E6E6E; color: #fff; } }
最后将js添加上去,用于操作显示或隐藏下方导航列表
$(".nav img").click(function() {//显示或隐藏下方导航列表 $(".nav ul").slideToggle(100); });
OK,完成。
我们来看下效果,在手机上面打开网页显示导航如下图
点击右侧图标显示导航效果
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
大家评论
站长推荐
点击排行
- 1CSS控制文字在Div最底部显示
- 2Thinkphp5如何配置IP+端口访问项目模块
- 3elementUI el-dialog弹框居中
- 4教你如何搭建及优化站点
- 5国内互联网视频行业运营分析
- 6CSS实现悬浮顶部的Div工具栏
- 7记一次Thinkphp5.1框架mysql数据库崩溃(SQLSTATE [08004] Too many connections)
- 8service mysql start出错,mysql不能启动,解决mysql: unrecognized service错误
- 9连接SQL Server数据库提示:Login failed for user 'sa'错误的解决方案
- 10Thinkphp3.2在centos7上设置计划任务的方法