一个月的ps基础课程教学终于结束,网站也好久没有更新了,今天学生们准备项目汇报的作品,我忙里偷闲赶紧来更新一下。
响应式布局几乎是现在网页设计的标配,能在不同的屏幕宽度下显示不同的效果,而不用准备不同的html和css版本,还是非常不错的。
利用媒体查询media queries可以很好的实现这个效果。
这个案例是仿了网易轻量博客lofter的一个页面,很简单实用。不过移动端的导航菜单没有做,个人网站改版的时候加上了移动端导航菜单的效果。
ps:已经更新了移动端导航菜单的效果,改变浏览器窗口可以看到菜单的变化。
不断改变浏览器窗口,可以看到页面的变化。
下载案例
链接:https://pan.baidu.com/s/1ggoQQuZ 密码:pxuz
一、案例知识点
1、百分比布局
2、media queries的应用
3、移动端导航菜单的制作
二、HTML源代码
<header> <div id="top" class="clearfix"> <div id="logo" class="fl"><img src="images/logo.png"></div> <div id="mobile-menu" class="fr"><span></span></div> <nav class="menu fl"> <ul 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="#">RSS</a></li> </ul> </nav> </div> </header> <main> <div id="products"> <ul class="clearfix"> <li><a href="#"><img src="images/1.jpg" /></a></li> <li><a href="#"><img src="images/2.jpg" /></a></li> …… </ul> </div> </main>
三、主要的CSS代码
#top{ padding-left:2%; min-height:50px;} #logo{ width:30%;} #logo img{ width:100%; min-width:135px;} #mobile-menu{ display:none;} .menu{ margin-top:3%;} .menu li{ float:left; margin-right:0.5em;} #products li{ float:left; width:24.25%; margin-right:1%; margin-bottom:1%;} #products li:nth-child(4n){ margin-right:0;} #products img{ width:100%;} #footer{ padding:2% 1% 3%;} #aboutme span{ margin-top:2px;} @media screen and (max-width:1024px){ #products li{ width:32.66%;} #products li:nth-child(4n){ margin-right:1%;} #products li:nth-child(3n){ margin-right:0;} #footer { font-size:0.875rem;} } @media screen and (max-width:900px){ #aboutme,#copyright{ float:none; margin-bottom:1%;} } @media screen and (max-width:768px){ #top{ position:relative; padding:1% 5% 1% 1%;} #mobile-menu{ display:block; margin-top:3%; } #mobile-menu span{ display:block; width:20px; height:14px; position:relative; } #mobile-menu span::before,#mobile-menu span::after{ content:""; display:block; width:20px; height:2px; background-color:#666; position:absolute; left:0; top:0; transition:all 0.2s linear; } #mobile-menu span::after{ bottom:0; top:auto; } #mobile-menu.menu-rotate span::before{ top:7px; transform:rotate(-45deg); } #mobile-menu.menu-rotate span::after{ top:7px; bottom:auto; transform:rotate(45deg); } .menu{ position:absolute; right:0; top:71.34px; display:none; background:rgba(0,0,0,.7); margin-top:0; width:100%; padding:2% 5%;} .menu li{ float:none; padding:0.5em 0;} .menu a{ color:#fff;} } @media screen and (max-width:480px){ #products li{ width:49.5%;} #products li:nth-child(3n){ margin-right:1%;} #products li:nth-child(2n){ margin-right:0;} .menu{ top:50px;} #footer{ font-size:0.75rem;} }
四、JavaScript代码
<script> $(function(){ $("#mobile-menu").click(function(){ $(this).toggleClass("menu-rotate"); $(".menu").slideToggle(500); }) }) </script>
发表评论:
◎请发表你卖萌撒娇或一针见血的评论,严禁小广告。