网页支持响应式布局的好处我就不说了,这里我通过写一个简单的网站导航来学习响应布局的开发
定义body中的结构
定义样式
{:;:;
}
.nav </span>{<span style="color: #ff0000">
position</span>:<span style="color: #0000ff"> relative</span>;<span style="color: #ff0000">
background-color</span>:<span style="color: #0000ff"> #fff</span>;<span style="color: #ff0000">
height</span>:<span style="color: #0000ff"> 78px</span>;<span style="color: #ff0000">
width</span>:<span style="color: #0000ff"> 100%</span>;<span style="color: #ff0000">
border-bottom</span>:<span style="color: #0000ff"> 1px solid #DADADA</span>;
}<span style="color: #800000">
.nav img </span>{<span style="color: #ff0000">
position</span>:<span style="color: #0000ff"> absolute</span>;<span style="color: #ff0000">
right</span>:<span style="color: #0000ff"> 20px</span>;<span style="color: #ff0000">
top</span>:<span style="color: #0000ff"> 30px</span>;<span style="color: #ff0000">
width</span>:<span style="color: #0000ff"> 28px</span>;<span style="color: #ff0000">
display</span>:<span style="color: #0000ff"> none</span>;
}<span style="color: #800000">
.nav ul </span>{<span style="color: #ff0000">
list-style</span>:<span style="color: #0000ff"> none</span>;<span style="color: #ff0000">
margin</span>:<span style="color: #0000ff"> 0</span>;<span style="color: #ff0000">
padding</span>:<span style="color: #0000ff"> 0</span>;<span style="color: #ff0000">
text-align</span>:<span style="color: #0000ff"> center</span>;
}<span style="color: #800000">
.nav ul li </span>{<span style="color: #ff0000">
height</span>:<span style="color: #0000ff"> 78px</span>;<span style="color: #ff0000">
width</span>:<span style="color: #0000ff"> 168px</span>;<span style="color: #ff0000">
line-height</span>:<span style="color: #0000ff"> 78px</span>;<span style="color: #ff0000">
text-align</span>:<span style="color: #0000ff"> center</span>;<span style="color: #ff0000">
display</span>:<span style="color: #0000ff"> inline-block</span>;
}<span style="color: #800000">
.nav ul li:hover </span>{<span style="color: #ff0000">
cursor</span>:<span style="color: #0000ff"> pointer</span>;
}<span style="color: #800000">
.nav ul li a </span>{<span style="color: #ff0000">
text-decoration</span>:<span style="color: #0000ff"> none</span>;<span style="color: #ff0000">
color</span>:<span style="color: #0000ff"> #666</span>;<span style="color: #ff0000">
padding-bottom</span>:<span style="color: #0000ff"> 8px</span>;
}<span style="color: #800000">
.nav ul li .actived </span>{<span style="color: #ff0000">
border-bottom</span>:<span style="color: #0000ff"> 3px solid #EE5C42</span>;
}
<span style="color: #800000">
</style></span></pre>
查看效果图
可以看到导航已经显示出来了,我们给导航加上点击事件以改变导航选中样式
那如果说我们想要支持响应式布局该怎么做呢?
上面最开始我们已经添加支持手机的Meta相关标签元素了,接着我们通过媒体查询来使我们手机支持响应式导航显示
主要用到@media only screen and (max-width: 878px) {} 设置当屏幕宽度小于878px的时候执行里面的样式
这里我们先在右上角显示一个图标,然后点击图标的时候显示右侧的导航,再点击图标隐藏右侧的导航
查询
@media only screen and (max-width: 878px) </span>{<span style="color: #ff0000">
.nav img {
display</span>:<span style="color: #0000ff"> inline</span>;
}<span style="color: #800000">
.nav ul </span>{<span style="color: #ff0000">
position</span>:<span style="color: #0000ff"> absolute</span>;<span style="color: #ff0000">
right</span>:<span style="color: #0000ff"> 0</span>;<span style="color: #ff0000">
text-align</span>:<span style="color: #0000ff"> right</span>;<span style="color: #ff0000">
top</span>:<span style="color: #0000ff"> 78px</span>;<span style="color: #ff0000">
display</span>:<span style="color: #0000ff"> none</span>;
}<span style="color: #800000">
.nav ul li </span>{<span style="color: #ff0000">
display</span>:<span style="color: #0000ff"> block</span>;<span style="color: #ff0000">
border</span>:<span style="color: #0000ff"> 1px solid #dadada</span>;<span style="color: #ff0000">
height</span>:<span style="color: #0000ff"> 58px</span>;<span style="color: #ff0000">
line-height</span>:<span style="color: #0000ff"> 58px</span>;<span style="color: #ff0000">
width</span>:<span style="color: #0000ff"> 98px</span>;
}<span style="color: #800000">
.nav ul li a </span>{<span style="color: #ff0000">
display</span>:<span style="color: #0000ff"> block</span>;<span style="color: #ff0000">
padding-bottom</span>:<span style="color: #0000ff"> 0</span>;
}<span style="color: #800000">
.nav ul li .actived </span>{<span style="color: #ff0000">
border-bottom</span>:<span style="color: #0000ff"> none</span>;
}<span style="color: #800000">
.nav ul li a:hover </span>{<span style="color: #ff0000">
background-color</span>:<span style="color: #0000ff"> #6E6E6E</span>;<span style="color: #ff0000">
color</span>:<span style="color: #0000ff"> #fff</span>;
}<span style="color: #800000">
}</span></pre>
$(".nav img").click(() {显示或隐藏下方导航列表
$(".nav ul").slideToggle(100
OK,完成。