首页 > 代码库 > 响应式布局学习笔记

响应式布局学习笔记

静态、自适应、流式、响应式四种网页布局有什么区别?

 

静态布局(Static Layout)
即传统Web设计,对于PC设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查阅被遮掩部分;
对于移动设备,单独设计一个布局,使用不同的域名如wap.m.

 

 

 

适应布局(Adaptive Layout
自适应布局(Adaptive)的特点是分别为不同的屏幕分辨率定义布局。布局切换时页面元素发生改变,但在每个布局中,页面元素不随窗口大小的调整发生变化。

 

 

 

流式布局(Liquid Layout
流式布局(Liquid)的特点(也叫"Fluid") 是页面元素的宽度按照屏幕进行适配调整,主要的问题是如果屏幕尺度跨度太大,那么在相对其原始设计而言过小或过大的屏幕上不能正常显示。

 

响应式布局(Responsive Layout
分别为不同的屏幕分辨率定义布局,同时,在每个布局中,应用流式布局的理念,即页面元素宽度随着窗口调整而自动适配。
可以把响应式布局看作是流式布局和自适应布局设计理念的融合。

 

[开始]

 

当创建一个响应式网站,或让现有的网站变成响应式的,首先要关注的元素的布局。我在建立响应式的网站,总是先创建一个非响应的布局,页面宽度固定大小。如果非响应版本完成得非常不错,我再添加媒体查询(Media Queries)和响应式代码。这种操作方式更容易实现响应式特性,在同一时间专注于一个任务。

 

<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">

 

 

 

 

Max Width

 

@media screen and (max-width: 600px) {  .class {    background: #ccc;  }}

 

如果你想链接到一个单独的样式表,把下面的代码放在<head>标签里。

 

<link rel="stylesheet" media="screen and (max-width: 600px)" href="small.css" />

 

Multiple Media Queries

你还可以使用过个匹配条件,下面的样式会在可视区域的宽度在 600px 和 900px 之间的时候被应用。

@media screen and (min-width: 600px) and (max-width: 900px) {  .class {    background: #333;  }}

 

Device Width

@media screen and (max-device-width: 480px) {  .class {    background: #000;  }} 

 

Media Queries for IE

遗憾是的,IE8 及更老版本的浏览器不支持 CSS3 Media Queries,不过可以使用 Javascript  弥补,下面是一些解决方案:

Respond.js让IE6-8支持CSS3 Media Query

Bootstrap里面就引入了这个JS文件,从名字看出来是自适应的兼容。打开IE看了一下,效果挺好的,自适应的效果挺好的。Respond.js让不支持css3 Media Query的浏览器包括IE6-IE8等其他浏览器支持查询。

 

官方demo地址:http://scottjehl.github.com/Respond/test/test.html
1.在css中正常用 min/max-width media queries

2.引入respond.min.js,但要在css的后面(越早引入越好,在ie下面看到页面闪屏的概率就越低,因为最初css会先渲染出来,如果respond.js加载得很后面,这时重新根据media query解析出来的css会再改变一次页面的布局等,所以看起来有闪屏的现象)

 

 

<!--[if lt IE 9]>        <script src="http://www.mamicode.com/static/js/respond.min.js"></script>    <![endif]-->

 

 

 

下面是我做的一个demo

 技术交流QQ群:15129679

 

响应式布局学习笔记