什么是响应式布局

什么是响应式布局

图片[1]-什么是响应式布局-学吧号

响应式布局设计,是指将桌面设备上的网页内容在移动设备上进行优化排版,使用户能够在移动设备上更方便地阅读并操作。其实,如果经常使用不同的设备浏览互联网网页,就会比较容易体会响应式布局设计在移动设备上的应用。

页面的设计根据使用设备环境进行相应的响应和调整,具体的实践方式由多方面组成的。

最主要的是三种技术实现的:

1、流体布局,采用了百分比和像素为单位,使布局更加灵活。布局上才用多种方法,呈现不同方式的实现布局设计,简单分为四种类型:固定布局、可切换的固定布局、弹性布局、混合布局。
其次,可切换的固定布局的实现成本最低,但拓展性比较差;而弹性布局与混合布局效果具响应性,都是比较理想的响应式布局实现方式。只是对于不同类型的页面排版布局实现响应式设计,需要采用不用的实现方式。

通栏、等分结构的适合采用弹性布局方式、而对于非等分的多栏结构往往需要采用混合布局的实现方式。

2、媒介查询,通过使用媒介查询,可以获取到设备及设备的特性,及时的响应布局方案,从而解决之前在单纯的布局设计中遗留的问题。
3、弹性图片,伴随布局的弹性,图片作为信息重要的形式之一也必须有更灵活的方式去适应布局的变化。

扩大研究范围:除了图片,还应该包括图标、图表、视频等信息内容的响应方式。

布局响应是对页面进行设计,需要对相同的内容进行不同的布局设计。一种是桌面向下设计,一种是移动端向上的设计。

无论那种设计,都要兼容所有的设备。
随着大屏幕移动设备的普及,随着越来越多的设计师采用这个技术,我们不仅看到很多的创新,还看到了一些成形的模式。给我们提供了更加舒适的界面体验。

响应式布局该怎么设计

图片[2]-什么是响应式布局-学吧号

说到响应式布局,就不得不提起CSS3中的Media Query(媒介查询),这可是个好东西,易用、强大、快捷……Media Query是制作响应式布局的一个利器,使用这个工具,我们可以非常方便快捷的制造出各种丰富的实用性强的界面。接下来就一起来深入的了解Media Query。

当浏览器的分辨率小于1024px的时候,则通过Media Query预设的样式表来将页面的宽度设置为百分比显示,这样子页面的结构元素就会根据浏览器的的尺寸来进行相对应的调整。

同理,当浏览器的可视区域改变到某个值(假如为650px)的时候,页面的结构元素根据Media Query预设的层叠样式表来进行相对应的调整。看看我们的例子:/* 当浏览器的可视区域小于980px */@media screen and (max-width: 980px) { #wrap {width: 90%; margin:0 auto;} #content {width: 60%;padding: 5%;} #sidebar {width: 30%;} #footer {padding: 8% 5%;margin-bottom: 10px;} } /* 当浏览器的可视区域小于650px */ @media screen and (max-width: 650px) { #header {height: auto;} #searchform {position: absolute;top: 5px;right: 0;} #content {width: auto; float: none; margin: 20px 0;} #sidebar {width: 100%; float: none; margin: 0;} }通过上面我们就可以监测浏览器的可视区域变化的是时候我们的页面结构元素也会相对应的变化,当然你可以再多设置几个尺寸的监测层叠样式表,这样子就可以根据不同尺寸设备来进行响应式的布局。为了更好的显示效果,我们往往还要格式化一些CSS属性的初始值:/* 禁用iPhone中Safari的字号自动调整 */ html { -webkit-text-size-adjust: none; } /* 设置HTML5元素为块 */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } /* 设置图片视频等自适应调整 */ img { max-width: 100%; height: auto; width: auto\9; /* ie8 */ } .video embed, .video object, .video iframe { width: 100%; height: auto; }最后要注意的是在页面的头部<head></head>之间加上下面这句∶<meta name=”viewport” content=”width=device-width; initial-scale=1.0″>meta viewport这个属性是在移动设备上设置原始大小显示和是否缩放的声明。参数设置∶width – viewport的宽度height – viewport的高度initial-scale – 初始的缩放比例minimum-scale – 允许用户缩放到的最小比例maximum-scale – 允许用户缩放到的最大比例user-scalable – 用户是否可以手动缩放最后对于在IE浏览器中不支持media query的情况,我们可以使用Media Query JavaScript来解决,只需要在页面头部引用css3-mediaqueries.js即可。

如何手动制作一个响应式布局?

图片[3]-什么是响应式布局-学吧号

响应式的基础是“相对”宽度,“相对”高度,“相对”大小,是percentage, em, rem. 而不是px,pt。如果你希望一个页面占满半个viewport,那么你应该用50%的width,bootstrap和所有主流的框架都是以此为基础的,row是100%宽度,column约为row的1/12,col-xs-4约为大屏幕宽度下的1/3 — ”相对“值才有自适应和响应的能力。

你需要了解设备绝对值的时候很可能是写media query的时候,但你真正需要的并不是设备的尺寸值,而是viewport的值,viewport尺寸不总是等于设备尺寸,而取决于meta tag的设置,在mobile设备上,一个设备屏宽为480的浏览器仍然可以显示远大于此宽度的网页,当然网页的内容这个时候被按比例缩小了。

什么是响应式网页布局

图片[4]-什么是响应式布局-学吧号

“响应式布局”已经成为现今网站建设方案中的热门术语,随着HTML5技术的发展,它将很快从一种趋势变为常规。但目前,很多客户,甚至互联网从业者,并没有完全认识响应式布局的本质,他们经常被以下误区所迷惑:误区一:只要是“PC端+移动端”的网站就是响应式布局首先,我们要明确一点,采用响应式布局的网站,无论在哪个终端,都是同一个网站,且都通过同一个域名来打开和显示网站内容。

它会根据终端屏幕的尺寸,智能调整排版布局,以达到最佳浏览效果。

事实上,很多网站是通过在PC端和移动端搭建两个不同的网站,并为它们分别绑定两个域名,然后,通过对终端设备的判断,来决定打开哪一个网站更为合适。类似于这种建站方式,我们称之为“伪响应式”,因为它本质两个不同的网站而已。显然,伪响应式的技术含量很低,自然建站成本也低。但它对后期网站的维护和扩展也会产生一定的副作用,因为你需要维护两个甚至的网站。

不过这并不是不可接受的,在建站预算有限的情况下,这也不失为一个折中的选择。当然,如果采用响应式布局,不仅可以使网站变得更加轻量,而且,不同终端上统一的设计风格,会给浏览者增添的信任感。误区二:响应式布局网站,就是移动端的网站我们早在《响应式布局的设计思路》一文中就提到过,不能一味地认为响应式布局就是专门为移动建站而设计的。

的确,响应式布局是在移动互联网诞生之后才出现的,最初的目的也是为了让网站版面对移动端可以表现的更为友好。但事实上,响应式布局是针对网站的一种制作方案,并不是针对专门的某个终端而设计的。它可以让网站适应任何一个终端,而不是在每个终端上去开发不同的网站。

所以,你可以不必纠结某个响应式网站到底是PC站,还是移动站,只要它能够响应各种终端,为访客带来最好的用户体验,就足够了。当然,你也可以根据用户群的不同,为PC设计一套响应式网站,再为手机设计一套响应式网站,让两个网站都可以完美响应各种终端设备。误区三:响应式布局就是做2套网站布局很多人认为响应式网站就是做一套PC端的布局版式,再做一套移动端的布局版式,有2套布局就算响应式了。

实际上这只是最初级的响应式布局,它甚至还不能很好地响应不同终端。如果我们要做的更为精细,或许要考虑PC端多种尺寸的屏幕,比如19寸、23寸,或者更大一些的屏幕,是不是要做一些布局微调,或设计出不同的布局方案。移动端也是一样,我们可以为Pad、手机、iWatch、gGlass等设备,设计不同的布局。甚至还可以考虑横屏和竖屏不同的显示方案。

当然,这么做成本会大很多,但也说明响应式并不仅仅局限于2套网站的布局。

响应式布局的核心技术是什么

图片[5]-什么是响应式布局-学吧号

响应式布局就是网页会根据上网设备的屏幕大小而自我调整网页的布局。听着跟木有解释一样,我举个例子:你以全屏访问亚马逊网站,然后在慢慢缩小浏览器会发现有一些东西(专业点说是dom元素)不见了,这就是响应式设计的一种。

目的就是更好的用户体验。

但是响应式设计不是设置,不是说开发者点点鼠标就能完成的。从设计开始就要考虑电脑,手机等不同终端的访问,其底层是大量的css,js代码在控制着网页。然而亲目前连响应式设计的概念都不清楚,还是先从基本的html,css,js学起,等羽翼丰满之时再去设计响应式页面。

什么是响应式布局设计

图片[6]-什么是响应式布局-学吧号

响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,简而言之,就是一个中国站能够兼容多个终端——而不是为每个终端做一个特定的版本。这个概念是为解决移动互联中国浏览而诞生的。

响应式布局可以为不同终端的用户提供更加舒适的界面和更好的用户体验,而且随着目前大屏幕移动设备的普及,用大势所趋来形容也不为过。

随着越来越多的设计师采用这个技术,我们不仅看到很多的创新,还看到了一些成形的模式 优点和缺点 优点: 面对不同分辨率设备灵活性强 能够快捷解决多设备显示适应问题 缺点: 兼容各种设备工作量大,效率低下 代码累赘,会出现隐藏无用的元素,加载时间加长 其实这是一种折中性质的设计解决方案,多方面因素影响而达不到最佳效果 一定程度上改变了中国站原有的布局结构,会出现用户混淆的情况 2设计思路 我们在上面了解了什么是响应式布局,那在我们的实际项目中应该怎么去设计呢?在以往我们设计中国站的时候都会受到不同浏览器的兼容性的困扰,还要来个不同尺寸设备,我们该怎么淡定下来呢?有需求就会有解决方案,说到响应式布局,就不得不提起CSS3中的Media Query(媒介查询),这可是个好东西,易用、强大、快捷……Media Query是制作响应式布局的一个利器,使用这个工具,我们可以非常方便快捷的制造出各种丰富的实用性强的界面。接下来就一起来深入的了解Media Query。 1、CSS3中的Media Query(媒介查询)是什么? 通过不同的媒介类型和条件定义样式表规则。媒介查询让CSS可以更精确作用于不同的媒介类型和同一媒介的不同条件。

媒介查询的大部分媒介特性都接受min和max用于表达”大于或等于”和”小于或等于”。如:width会有min-width和max-width媒介查询可以被用在CSS中的@media和@import规则上,也可以被用在HTML和XML中。通过这个标签属性,我们可以很方便的在不同的设备下实现丰富的界面,特别是移动设备,将会运用更加的广泛。

2、media query能够获取哪些值? 设备的宽和高device-width,device-height显示屏幕/触觉设备。 渲染窗口的宽和高width,height显示屏幕/触觉设备。 设备的手持方向,横向还是竖向orientation(portrait|lanscape)和打印机等。

画面比例aspect-ratio点阵打印机等。 设备比例device-aspect-ratio-点阵打印机等。 对象颜色或颜色列表color,color-index显示屏幕。

设备的分辨率resolution。 3、语法结构及用法 @media 设备名 only (选取条件) not (选取条件) and(设备选取条件),设备二{sRules} 示例一:在link中使用@media: 上面使用中only可省略,限定于计算机显示器,第一个条件max-width是指渲染界面最大宽度,第二个条件max-device-width是指设备最大宽度。 示例二:在样式表中内嵌@media: @media (min-device-width:1024px) and (max-width:989px),screen and (max-device-width:480px),(max-device-width:480px) and (orientation:landscape),(min-device-width:480px) and (max-device-width:1024px) and (orientation:portrait) {srules} 在示例二中,设置了电脑显示器分辨率(宽度)大于或等于1024px(并且最大可见宽度为989px);屏宽在480px及其以下手持设备;屏宽在480px以及横向(即480尺寸平行于地面)放置的手持设备;屏宽大于或等于480px小于1024px以及垂直放置设备的css样式。 从上面的例子可以看出,字符间以空格相连,选取条件包含在小括号内,srules为兼容设置的样式表,包含在中括号里面。

only(限定某种设备,可省略),and(逻辑与),not(排除某种设备)为逻辑关键字,多种设备用逗号分隔,这一点继承了css基本语法。 通过Media Queries实现响应式布局设计 好了,我们明白了什么是Media Query,那我们一起来运用到响应式布局的设计项目中去。设计思路很简单,首先先定义在标准浏览器下的固定宽度(假如标准浏览器的分辨率为1024px,那么我们设置宽为980px),然后用Media Query来监测浏览器的尺寸变化,当浏览器的分辨率小于1024px的时候,则通过Media Query预设的样式表来将页面的宽度设置为百分比显示,这样子页面的结构元素就会根据浏览器的的尺寸来进行相对应的调整。同理,当浏览器的可视区域改变到某个值(假如为650px)的时候,页面的结构元素根据Media Query预设的层叠样式表来进行相对应的调整。

看看我们的例子: /* 当浏览器的可视区域小于980px */ @media screen and (max-width: 980px) { #wrap {width: 90%; margin:0 auto;} #content {width: 60%;padding: 5%;} #sidebar {width: 30%;} #footer {padding: 8% 5%;margin-bottom: 10px;} } /* 当浏览器的可视区域小于650px */ @media screen and (max-width: 650px) { #header {height: auto;} #searchform {position: absolute;top: 5px;right: 0;} #content {width: auto; float: none; margin: 20px 0;} #sidebar {width: 100%; float: none; margin: 0;} } 通过上面我们就可以监测浏览器的可视区域变化的时候我们的页面结构元素也会相对应的变化,当然你可以再多设置几个尺寸的监测层叠样式表,这样子就可以根据不同尺寸设备来进行响应式的布局。为了更好的显示效果,我们往往还要格式化一些CSS属性的初始值: /* 禁用iPhone中Safari的字号自动调整 */ html { -webkit-text-size-adjust: none; } /* 设置HTML5元素为块 */ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; } /* 设置图片视频等自适应调整 */ img { max-width: 100%; height: auto; width: auto\9; /* ie8 */ } .video embed, .video object, .video iframe { width: 100%; height: auto; } 最后要注意的是在页面的头部之间加上下面这句∶ meta viewport这个属性是在移动设备上设置原始大小显示和是否缩放的声明。

THE END
喜欢就支持一下吧
点赞14
温馨提示:

1、本内容转载于网络,版权归原作者所有!
2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
3、本内容若侵犯到你的版权利益,请联系我QQ:243371741,会尽快给予删除处理!