1.调整视口
创新互联长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为兴业企业提供专业的成都网站建设、成都网站设计,兴业网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
代码实例:
!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,即将视口设置为当前设备的宽度。
2.确定设计图的最小字体
浏览器(部分)能够显示的最小字体未12px,当移动端页面宽度为320px时,要保证最小字体为12px,那么在1080px的设计图中,最小字体应当为42px。
代码实例:
style type="text/css"
html {
font-size: 42px;
}
/style
3.浮动布局
各个区块都是浮动的,不是固定不变的。为了能自适应各个窗口。
代码实例:
.main {
float: left;
width: 70%;
}
.box {
float: left;
width: 60.93%;
font-size: 1.71rem;
text-align: center;
line-height: 4.64rem;
}
float浮动的好处就是,如果宽度不够放置下这个元素,元素会自动滚动到下方。
4.通过媒介查询,为不同设备加载相应样式
有条件应用样式:
style
@media all and(min-width:500px){ ... }
@media (orientation){ ... }
/style
代码解析:
第一行媒体查询代码指的是:为宽度大于等于500px的设备设置样式。
第二行媒体查询代码指的是:为纵屏状态(可见区域大于或等于宽度)下的移动端设备设置样式。
有条件的加载样式表:
head
link rel="stylesheet" href="wide.css" media="screen and(min-width:1024)" /
link rel="stylesheet" href="mobile.css" media="screen and(max-width:320)" /
/head
代码解析:
第一行媒体查询代码指的是:为宽度大于等于1024px的设备,加载wide.css文件。
第二行媒体查询代码指的是:为宽度小于等于320px的设备,加载mobile.css文件。
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。
html5是html4的更新标准。html5新增了一些html标签以及这些标签对应的css和js接口。 bootstrap是在html5标准形成之际推出的,因此bootstrap天生含有html5的一些标签和特性。 比如,bootstrap支持响应式设计,具体体现在bootstrap的css库(主要是启用了css3标准的media query功能)实现了各种设备下的一些预设的html+css组件(就是一些半成品的代码片段,适合在网页各个地方复制粘贴)。
简单说:
html5是html的最新标准 ,体现在新标签,新css标准,新js接口
bootstrap是基于html5技术的一个好用的前端代码框架,可以简单的复制粘贴,修修改改做一个漂亮页面
响应式设计是一种设计实现理念 ,css3的meida query功能让这个理念的实现变的现实而方便。
H5是指在html5标准推行以后,利用html5新特性在手机上的配合市场营销采用了大量的js css 及canvas技术实现的页面。个人认为H5的概念很狭隘不能代表整个web前端,更不能包含webapp。 但H5的概念也可以变的更宽放,泛指一切在手机上实现的应用或页面。
响应式布局最简单的就是用css3来实现。我举一个最简单的例子。
下面是html代码。
!DOCTYPE html
html lang="en"
head
meta charset="UTF-8"
meta name ="viewport" content="width = device-width,initial-scale=1"
titleindex01/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;
}
}
这样就可以实现简单的响应式布局!如果你想要了解的话,可以到华清远见学习一下。我就是在那里学习的。
HTML5 制作响应式网页,首先需要考虑是全平台适配还是只是移动端适配。这里以移动端响应式网站为例,讲述如何制作响应式网页。
1、选定基本设计尺寸,一般以1080为基准。确定响应式web设计的应用场景之后,和美工(或设计师)沟通,之前,一般需要美工出几套主流移动设备屏幕分辨率的设计图,现在,使用流式布局以及rem等可以使用一套设计图,以最常用的移动设备屏幕分辨率为基准。
2、当美工完成设计图之后,前端工程师的工作就开始了。这时你就可以使用PS或是FW进行切图了。一般说来,Fireworks cs6切图更快,但是Fireworks有时会有图片失真的情况发生,所以,有时需要使用PS进行配合,PS有切片工具可以专门用来切图。
具体代码:
(function (doc, win) {
var docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function () {
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';
};
响应式布局就是根据浏览器显示区域大小不同显示不同的样式,比如说你的浏览器是电脑1366*768就显示宽屏布局(如左右布局),如果是手机宽480px,就显示适用于手机的布局(如上下布局)。
响应式布局和一般是使用css3的@media属性,设置当浏览器宽度不同时就调用不同的css。
以前,一般都是使用js来判断浏览器是手机端还是pc端,是手机端的话就用手机端的css或整个页面跳转到专门的手机网站,是PC端就使用PC端css。但是现在移动端更丰富了,手机屏幕大小不一,还有pad等介于中间的屏幕大小,所以就有了响应式布局这个更适用于移动互联网的概念产生。
html5移动端开发和响应式设计没有必然联系,不过在HTML5移动开发中经常会经常使用响应式设计。
1、响应式设计不仅用在移动网站,在PC端也有不同屏幕的适配,而且移动端和PC端可以只使用一套代码,这就是全平台的响应式设计。
2、HTML5移动端(移动网站、混合应用、WebAPP)为了解决屏幕适配经常会使用响应式设计(流式布局、CSS3媒体查询),但是响应式设计并不是必须,也可以使用流式布局和remnant来解决移动端的屏幕适配问题。
(function (doc, win) {
var docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function () {
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';
};
if (!doc.addEventListener) return;
win.addEventListener(resizeEvt, recalc, false);
doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);
3、HTML5移动端开发最初的时候使用固定布局,两边留白,那时也没有用到响应式设计,不过,那种用户体验不好。