响应式实现初探

前段时间,因为项目需要,略微接触了一下响应式设计。在此记录一些经验之谈。

我所理解的响应式设计,  是网站能响应当前屏幕的宽度,呈现相应合适的样式和内容。比如在手机端,手机端屏幕较小,而且用户可能在3g网络下访问。网站在手机端下显示的时候,呈现的内容较之桌面要少一些,所消耗的流量也要少些。通过css的媒体查询,可以控制在各分辨率内容的显示。要减少流量消耗,一些专业的网站都是为手机端另外做一个页面。

响应式的设计,可以从分辨率由大到小,也可以从分辨率由小到大开始设计。我们目前尝试的是先完成桌面端,再适配分辨率较小的设备。其中的要点是断点的设置。因为设备的多样性,为每一种分辨率写css媒体查询是很累人的事。所以需要确定一些分辨率,在这些分辨率下,页面的布局会乱掉。在这些分辨率(断点)下,再去设置媒体查询。还要注意灵活的布局,以便分辨率处在断点与断点时,能较好的呈现。

除了确定断点外,还有以下三个要点要注意。

1,浏览器视口和设备视口。就是浏览器的宽度和设备的宽度。在一些android设备上,浏览器默认会以比设备宽度更大的分辨率来显示网站,所以如果你打开某个没有设置过的网站的话,一开始你只能看到一部分,然后拉动或放大,才能看到其余部分。设备视口是固定的,浏览器视口是可以设置的。<meta viewport=‘width=device-width,init-scale=1.0‘  />  ,这个设置语句的意思是,将浏览器宽度设置成和设备宽度相等,初始的缩放比例为1。需要注意的是,这里的浏览器宽度并不一定是页面的宽度。浏览器宽度作用于媒体查询,而页面的实际宽度可能会超出所设置的宽度。缩放比例只是纯粹的放大缩小,并不会影响浏览器宽度和媒体查询之间的相互作用。

2,媒体查询。确定了断点,设置了视口之后。写css媒体查询就差不多是体力活了。在支持媒体查询的浏览器上打开你的网站,改变浏览器的宽度,看看查询语句是否有效,布局是否合理。

3,css特殊性。应该说,这是一个坑。一般情况下,我们通过css设置了某个元素:.header{width:1200px;},在之后某个范围改变宽度:@media all and (max-width:800){.header{width:800px;}}。在ipone4、5的默认浏览器下,媒体查询是起作用的。但是到了android的自带浏览器下,就不起作用了。事情是这样的:根据特殊性的规则,两个地方设置width的权重是相同的,在后的特殊性就要强一点。这是正确的情况。但是在android下并不是这样,

权重相同的情况下,在媒体查询语句里的属性特殊性要低一点,所以在小于800的分辨率下,width:800不起作用。解决的方法是,在查询语句里设置更强高的权重,不要依赖先后顺序。比如上面的查询语句可以改为

@media all and (max-width:800){body .header{width:1200px;}}。

搞定了上面提到的这些,适配各个设备就不是什么问题了。在交互方面,比较常用的是touch。不过在使用touch时要注意防止冒泡,因为在document上,浏览器默认都会有些行为,这些行为会短暂的获取焦点,而导致touch被打断,使得执行touch时显得不灵敏。

对于响应式的实现就先写到这里。

注:测试的浏览器包括android4.0、 4.2下的默认浏览器,uc浏览器,ipone4、5下的默认浏览器。

时间: 2024-10-14 17:22:33

响应式实现初探的相关文章

响应式Web初探

传统网站直接搬到移动端是无法直视的: 在移动端会创建一个虚拟布局窗口来完整的显示页面,参照http://screensiz.es/phone可以看出,手机上最宽能显示1080px宽的网页,虽然这样可以看到完整的页面,但是缩小的窗口里面的内容视觉美感降低,是无法体现用户体验的,甚至产品的价值也会大打折扣:这是很糟糕的!而响应式Web就这样应运而生了,他将能够解决您的网站跨多终端也能够完美展示的问题. 为了解决移动端屏幕分辨率的问题,各大浏览器专门定义并支持viewport虚拟窗口,他的作用就是允许

响应式Web之图片的缩放

其实对响应式网页有种片面的误解:页面元素不固定宽度,按百分比自动缩放,来实现不同尺寸视口的统一展示:响应式网页嘛,顾名思义,就是这种理解.其实响应式Web开发属于HTML5,并且是专门用来适配不同终端的,而且是根据终端类型来适配不同的功能模块和表现样式的,所以上面的理解是片面的:因为忽略了适配不同的功能模块,当然这样也就无形的增加了原本页面的复杂性,可能你为了适应3大终端,而必须得设计三套PSD,写三套样式表,还有额外的交互体验,但这是值得的,这样一来,你的应用在各种终端下都能完美展示,并且不失

响应式网页设计初探

我首次接触响应式网页设计还要从应用bootstrap说起.我们运用bootstrap的网格类简单的将响应式设计带入我们的网页设计当中,当然bootstrap框架其实还做了其他事情以支持网页响应式设计.现在,就让我们一窥响应式网页设计背后的原理. 实现响应式设计的前提:允许网页缩放 <meta name="viewport" content="width=device-width, init-scale=1.0"> 视口的 meta 标签,重写了默认的视口

CSS之响应式布局

响应式布局 外部link的max.css #left { width: 50%; height: 100px; background-color: #FF6600; float: left; } #right { width: 50%; height: 100px; background-color: #3565ff; float: left; } 外部link的min.css #left { width: 100%; height: 100px; background-color: #FF66

java企业站源码 响应式 兼容手机平板PC 主流SSM 框架 freemaker 静态引擎

java 企业网站源码 前后台都有 静态模版引擎, 代码生成器大大提高开发效率 前台: 支持三套模版, 可以在后台切换 点击:获取地址   QQ 313596790 官网 http://www.fhadmin.org/ 系统介绍: 1.网站后台采用主流的 SSM 框架 jsp JSTL,网站后台采用freemaker静态化模版引擎生成html 2.因为是生成的html,所以访问速度快,轻便,对服务器负担小 3.网站前端采用主流的响应式布局,同一页面同时支持PC.平板.手机(三合一)浏览器访问 4

响应式布局

响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,简而言之,就是一个网站能够兼容多个终端--而不是为每个终端做一个特定的版本.这个概念是为解决移动互联网浏览而诞生的. 响应式布局可以为不同终端的用户提供更加舒适的界面和更好的用户体验,而且随着目前大屏幕移动设备的普及,用"大势所趋"来形容也不为过.随着越来越多的设计师采用这个技术,我们不仅看到很多的创新,还看到了一些成形的模式. 在可视区域的宽度小于 600px 的时候被应用. @media screen and

响应式:为什么百度、淘宝之类的大公司网页不使用响应式,而是独立开发一套手机页面?

响应式设计不是万能的,它有一定的好处,但也有一定的弊端.先给出结论:如果开发资源充裕,不应该考虑使用响应式设计来同时支持移动端和桌面端. 因为响应式最大的优点就是开发快.打个比方,移动端和桌面端的开发时间分别是 t,采用响应式设计写一个同时支持两者的网站可能只有 1.2t. 那为什么开发资源充足的情况下,不应该采取响应式设计来同时支持移动端和桌面端呢? 1. 响应式设计带来大量冗余代码.在移动端充斥着 webkit 内核的浏览器的时代,响应式设计的网站中却不得不带有大量兼容旧 IE 的代码.移动

【Bootstrap】3.优化站点资源、完成响应式图片、让传送带支持手势

A.优化站点资源 速度很重要.用户很关心.我们的站点必须加载够快,否则用户就会走人.SEO 也很重要.我们的站点必须加载够快,否者搜索排名就会下降. 明白了这样,我们就来清点一下 [Bootstrap]2.作品展示站点 中的资源.特别的,来看一看我们能控制的.影响页面速度的重要因素 —— 文件大小,包括图片.CSS和 JavaScript 文件.只要简单几步,我们就可以给这些文件“瘦身”,缩短加载时间. A.1 优化图片 这些图片都通过 Photoshop 的 “保存为 Web 格式” 进行了一

响应式开发思想

响应式设计的优缺点优点解决了设备之间的差异化展示缺点兼容性代码多,工作量大,加载速度受影响对原有网站布局会产生影响,用户判断未必精确 响应式设计的原则移动优先在设计的初期就要考虑的页面如何在多终端展示 渐进增强充分发挥硬件设备的最大功能 实现响应式布局:1.CSS3-Media Query(最简单的方式)CSS3-Media Query 常见属性: device-width,device-height —— 屏幕宽高(设备物理宽高) width,height —— 渲染窗口宽高(实际宽高) or