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'
}
5和响应式页面到底是有什么关系5是的一个'新版本',响应式布局是一种能适应不同解析度的布局方式。
而且要写响应式布局,最简单的一个例子就是用Media Query!
不知道我说明白了没有~~
还有是构建网页的基本元素
5是4的更新标准。5新增了一些标签以及这些标签对应的css和js介面。 bootstrap是在5标准形成之际推出的,因此bootstrap天生含有5的一些标签和特性。 比如,bootstrap支援响应式设计,具体体现在bootstrap的css库(主要是启用了css3标准的media query功能)实现了各种装置下的一些预设的+css元件(就是一些半成品的程式码片段,适合在网页各个地方复制贴上)。
简单说:
5是的最新标准 ,体现在新标签,新css标准,新js介面
bootstrap是基于5技术的一个好用的前端程式码框架,可以简单的复制贴上,修修改改做一个漂亮页面
响应式设计是一种设计实现理念 ,css3的meida query功能让这个理念的实现变的现实而方便。
H5是指在5标准推行以后,利用5新特性在手机上的配合市场营销采用了大量的js css 及canvas技术实现的页面。个人认为H5的概念很狭隘不能代表整个web前端,更不能包含webapp。 但H5的概念也可以变的更宽放,泛指一切在手机上实现的应用或页面。
5是标准的、最新的超文字标记语言。 而响应式页面是一种设计理念。
其实关系不大:
1、HTML5是目前HTML最新的修订版本,于2014年10月由全球资讯网联盟(W3C)完成标准制定。
2、HTML5增加了一些新的语法标准和功能特性,如新的HTML标签,对多媒体的支援、2D/3D绘画等...
3、根据“响应式网页(Web)设计”这一理念来对网页进行设计,使网页适配多种不同萤幕解析度的装置,这种页面可以称为“响应式页面”
4、响应式网页的核心技术是使用CSS3的@media选择器,根据不同的解析度来修改css样式,从而改变网页的布局和排版,使网页适应不同的装置。
综上所述,“响应式页面”和HTML5关系不大,与CSS3的特性很有关系,如媒体查询media、流媒体布局flex等等...
响应式页面是一种网页具有的展示方式或者说功能,这种功能可以使网页随着浏览器页面宽度的变化而变化,而要实现这种功能就需要用5来写出来,这么说懂了没?
1.调整视口代码实例:
<!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。