分析设计图
假设设计图大小为1080px。这也就意味着,在开发时,需要兼容的最大分辨率为1080px,最小的为320px。
2. 调整视口
代码实例:
<!DOCTYPE html><head>
<meta charset="UTF-8" />
<title>布局之路-移动端开发实例</title>
<meta name="viewport" content="width=device-width,user-scalable = no" />
<link rel="stylesheet" type="text/css" href="css/reset.css" />
</head>
<body>
<div class="wrap"></div>
</body>
</html>
代码解析:由于使用不同设备打开网页时,宽度均有所不同,所以不能讲视口设置为固定值,应当为width=device-width,即将视口设置为当前设备的宽度。
3. 确定设计图的最小字体
浏览器(部分)能够显示的最小字体未12px,当移动端页面宽度为320px时,要保证最小字体为12px,那么在1080px的设计图中,最小字体应当为42px。
代码实例:
<style type="text/css">html {
font-size: 42px
}
</style>
4. 按照设计图的像素进行开发
按照正常网页开发流程,进行网页开发即可。
5. 使用百分比和rem替换px
代码效果对比:
/*使用固定像素*/.box {
float: left
width: 658px
font-size: 72px
text-align: center
line-height: 195px
}
/*使用百分比和rem*/
.box {
float: left
width: 60.93%
font-size: 1.71rem
text-align: center
line-height: 4.64rem
}
代码解析:
水平方向的值,将具体像素调整为百分比。百分比的计算是根据父级的内容区宽度进行计算的。
例如,父级宽度为1080px, 子级元素为197px,那么子元素转换为百分比为:197/1080*100%=18.24%。需要注意的是百分比根据父级计算,当标签结构级别不同时,计算公式中的“分母”也有所不同,在开发时这个地方很容易出现问题,请务必注意。
垂直方向的值,将具体像素调整为rem,与水平方向相比,垂直方向的计算就比较简单。例如,行高为195px,HTML标签当前的字体大小为42px,将行高转换为rem单位,即195/42= 4. 64rem。
响应式布局最简单的就是用css3来实现。我举一个最简单的例子。下面是html代码。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name ="viewport" content="width = device-width,initial-scale=1">
<title>index01</title>
<link href="style01.css" type="text/css" rel="stylesheet">
</head>
<body>
<div class="heading">第一</div>
<div class="container">
<div class="left">第二</div>
<div class="main">第三</div>
<div class="right">第四</div>
</div>
<div class="footing">第五</div>
</body>
</html>
下面是css3代码
*{
margin:0px
padding: 0px
}
.heading,
.container,
.footing{
margin: 10px auto
}
.heading{
height: 100px
background-color: red
}
.left,
.right,
.main{
height: 300px
background-color: yellow
}
.footing{
height: 100px
background-color: gray
}
<!--media="only screen and (max-width:640px)" 这句话的意思是:只要当渲染屏幕的宽度不大于640px的时候才会使用这个样式表-->
@media screen and (min-width: 960px){
.heading,
.container,
.footing{
width:960px
}
.left,
.main,
.right{
float: left
height: 500px
}
.left,
.right{
width:200px
}
.main{
margin: 0px 5px
width:550px
}
.container{
height: 500px
}
}
@media screen and (min-width: 600px) and (max-width: 960px){
.heading,
.container,
.footing{
width: 600px
}
.left,
.main{
float: left
height:400px
}
.right{
display: none
}
.left{
width: 160px
}
.main{
width: 435px
margin-left: 5px
}
.container{
height: 400px
}
}
@media screen and (max-width: 600px){
.heading,
.container,
.footing{
width: 400px
}
.left,
.right{
width: 400px
height: 100px
}
.main{
margin-top: 10px
width:400px
height:200px
}
.right{
margin-top: 10px
}
.container{
height: 420px
}
}
这样就可以实现简单的响应式布局!如果你想要了解的话,可以到华清远见学习一下。我就是在那里学习的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)