参考:维基百科,CSS3 @media 查询,Bootstrap中文官网,鄙视IE,2014年5个最流行前端框架对比,自适应网页设计-阮一峰,响应式网页设计,响应式布局-百度百科,响应式网站设计原则,响应式布局这件小事,响应式 Web 设计新原则,什么是响应式布局设计?,自适应与响应式的区别,Foundation中文网
响应式布局是什么意思?
响应式布局可以根据不同的浏览设备(PC端,平板,智能手机等)呈现不同的网页布局,同时减少缩放、平移和滚动。
适应移动端的大趋势,提高用户体验,减少开发成本。
为什么要使用响应式布局?
主要是使网页适用于用于移动端设备,屏幕分辨率是出现的最大的兼容性问题。
可以为不同的设备提供不同的网站,也就是同一网站做普通PC端和移动端两种页面。不论是前期的开发还是后期的维护改版,都非常的麻烦。
响应式布局的缺点?
兼容代码多,工作量大
设计原则?适合什么样的项目?
向下兼容,移动优先。
对于非常复杂的网页布局,不适合进行网页自适应的布局,原因之一是实现成本太高,其次就是复杂页面(例如容商网首页,中国企业集群首页等)也不适合移动端的浏览。
其他的响应式布局的框架?
Prue框架是Yahoo的一款轻量级的框架,兼容IE7以上,性能好,但是中文文档少,不利于团队开发,没有组件。
Foundation by ZURB,次于Bootstrap,重量级,362K大小
Bootstrap优势?
学习成本低
是目前最流行的自适应框架
性能非常好,最基础的文件大小只有149.1k
bootstrap.min.js 35.1k
bootstrap.min.css 114k
中文文档完善,还有全套的视频教程
有许多组件可以选择,如Bootstrap switch,Sco.js,Flat UI等,便于快速开发
兼容性
Chrome Firefox Internet Explorer Opera Safari Android 支持 支持 N/A 不支持 N/A iOS 支持 N/A 不支持 支持 Mac OS X 支持 支持 支持 支持 Windows 支持 支持 支持 支持 不支持
windows平台,支持IE8,如果不用框架则需要IE9以上支持,而且通过插件Bsie(鄙视IE)可以兼容IE6。
响应式布局实例
响应式页面实例地址
http://xys.laiwanapp.com/bootstrap-1/
兼容性问题(分辨率分解-*~768手机,768~992平板,992~1200普通PC,1200~*大屏幕PC)
chrome18 | firefox11(firefox3.6) | IE7(较少用户) | IE8(主流) | IE9(代表最新版本) | IE6 | |
实例1-微博 | 无 | 无(无圆角) | 无 | 无 | 无 | 崩溃 |
实例2-相册 | 圆角错误 | 无圆角(无圆角,不支持背景尺寸属性) | 无 | 无 | 无 | 崩溃 |
实例3-博客 | 圆角错误 | 无圆角, 进度条无动画(无圆角,进度条无动画) | 无 | 无 | 无 | 崩溃 |
其它 |
说明
chrome18和firefox都是旧版本的,用户非常少不支持背景属性可以用position和z-index属性解决IE6崩溃可以使用针对Bootstrap的插件Bsie解决大部分,但如果不要求对IE6支持,不建议使用,影响性能下图分别是无圆角,正常圆角,圆角错误,圆角是CSS3属性,所以会出现兼容问题,但IE7以上都支持,已经很好了(w3school说IE9以上才支持,说明使用了css hack)且官方文档里说明说明了这一点:http://v3.bootcss.com/css/#images-shapes
总结:支持主流浏览器,旧版本的浏览器出现的兼容性问题不大。


其它需要改进
移动端测试
兼容性问题(分辨率分解-
1. *~768手机,1栏2. 768~992平板,2栏3. 992~1200普通PC,2栏4. 1200~*大屏幕PC,3栏
)
分辨率dpi | ppi | 型号 | 竖 | 横 |
2560x1536(手机) | 546 | MX4 pro | 1栏 | 1栏 |
720x1280(手机) | 华为荣耀3c | 1栏 | 1栏 | |
1200x1920(手机平板) | 华为 x1 7.0 | 1栏 | 2栏 | |
800x1280(平板) | toshiba wt8a(win 8.1系统) | 2栏 | 3栏 | |
1366x768 | Acer win8.1 | - | - |
原理
2.怎样实现响应式布局
现在响应式布局用得比较大众的应该是Bootstrap,但是我并不打算使用。原因很简单,我对Bootstrap不熟悉不了解。然后 我简单的看了下Bootstrap是怎么实现的响应式布局。原理很简单,就是使用到了CSS3中的media。media何方神圣?可以用来吃吗?它可以针对不同的媒体类型定义不同的样式,也可以针对不同的屏幕尺寸设置不同的样式。且当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。既然如此,响应式何愁。
3.media的简单使用
Max Width:在可视区域的宽度小于 600px 的时候被应用。
@media screen and (max- 600px) { .class { background: #0094ff; } }
Min Width:在可视区域的宽度大于600px 的时候被应用。
@media screen and (min- 600px) { .class { background: red; } }
简单?对,就是如此简单。您还可以 在600到900直接的启用。
@media screen and (min- 600px) and (max- 900px) { .class { background: #0094ff; } }
当然,您还可以,放入单独文件。爽歪歪了吧。
<link rel="stylesheet" media="screen and (max- 600px)" href="max600.css" />
好了,你已经知道得太多了。实现一个首页的响应式 基本上已经够用了。
默认样式 显示 移动端:
.blog_body_e.col-xs-12 .a_blog_user { display: inline-block; } .blog_body_e, .blog_body_b { padding-left: 10px; padding-right: 10px; }
如果是PC端:(默认 大于992px就算是PC端 当然,你也可以自定义)
@media (min- 992px) { .blog_body_e.col-md-3 .a_blog_user { display: block; } .blog_body .blog_body_b { 80%; float: left; } .blog_body .blog_body_e { 20%; float: left; box-sizing: border-box; padding-right: 25px; } .blog_body_e, .blog_body_b { padding-left: 20px; padding-right: 20px; } }
我们看分布看看效果图