现在很多站长在做网站时都比较倾向于响应式设计,这是因为一个响应式网站就可以完全适应不同尺寸的设备。除此以外,响应式网站也没有缩放布局和流式布局的一些缺点。但在设计响应式网站时我们也要多加注意,仔细规划,才能更好的发挥这种设计的效用。今天这篇文章主要就是讲解缩放、流式和响应式布局的区别,响应式网站常见的3个误区,以及如何避免走进这些误区。
缩放布局VS流式布局VS响应式布局
很多人经常会弄混这三个概念,认为它们都差不多,可以随意替换使用。事实上,每一个概念都是不同的,都是不同科技发展阶段流行的网站布局方式。接下来小飞就带大家看看这3种网站布局设计的区别。
缩放布局 是指对网站中的每个元素进行缩放。从某种程度上来说,缩放布局有点响应式设计的味道,因为它会根据视窗尺寸的改变相应的缩放网站上的内容。不过,它与响应式布局的差别就在于,在进行缩放时,窗口整体布局是静止不动的,只改变网站里的每个元素,使它们协调一致。下图为缩放布局在不同屏幕分辨率中的呈现,这种设计可以保证网站各种元素的协调一致,但这是以牺牲网站内容的可读性为代价的。
流式布局, 也叫作百分比布局,是指将元素的宽、高、内边距,外边距设置成百分比,而不使用固定数值,这样一来网站元素可以根据页面的尺寸随时调整。通常,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前页尾,所以人们形象的称之为流式布局。这种布局方式在web前端开发的早期历史上有很广泛的使用,适用于不同尺寸的PC屏幕(那时屏幕的尺寸差异不会太大)。但是现在很多人使用手机浏览网页,使用这种布局方式设计网站,可能就会影响图片、文字在小屏幕设备上的显示效果,破坏网站的协调性、一致性。下图是流式布局在不同屏幕分辨器上的呈现,这种设计能够提供用户舒适的阅读体验但是忽略了网站元素的整体一致。
响应式布局是 随着媒体查询技术的出现而问世的,它主要是为了解决不同设备之间的兼容问题(一般是指PC,平板,手机等分辨率差异较大的设备)。这种技术可以根据视窗的大小改变网站的呈现方式。下图是响应式布局在不同屏幕分辨器中的呈现,它同时兼顾了网站内容的可读性和布局格式的一致性。
虽然响应式网站布局有很多优点,同时适用于多种设备,在不同客户端给用户提供舒适的浏览体验,节约不同页面的人力开发成本,便于SEO优化。但是,在我们设计响应式网站的过程中常会发现它也存在一些问题,这些问题是怎么产生的呢?又该怎样解决呢?小飞今天列举了响应式网站设计中常见的3个问题以及相应的解决方法,希望大家能够从中得到启发。
问题1.菜单分行
如果你在网页的上方使用了导航栏,当这个页面在小屏幕的设备上呈现时,响应式设计通常会将这个导航菜单压缩到更紧凑的格式,以在小屏幕中实现良好的呈现。但这并不总是有效的,如果显示区域比断点要宽(断点,通俗来讲就是换行处),又不足够在一行中将所有的菜单逐一呈现出来,这时就会出现菜单分行的情况(见下图,红色栏即为分行的菜单栏)。导航菜单在页面的上方,访客访问网站时很容易就会注意到这一点,菜单分行会给用户留下比较差的第一印象。那么怎样才能避免菜单分行情况的发生呢?
解决这个问题有好几种方法,第一种方法就是减少导航菜单上水平展示的菜单栏的数量。当菜单栏选项较多时,我们可以对它们进行相应的整合,分成类别和子类别。子类别可以在用户选择类别的时候通过下拉菜单的方式显示,这样横排的菜单栏就会减少了。第二种方法就是将断点设为更低的值。断点的实际值应该是导航菜单可能无法显现的宽度,而不是某个特定设备的尺寸。
问题2.使用固定宽度的图片
网站的内容区域一般随视窗的大小而改变,所以当一个固定宽度的图片比内容区域要宽的时候,图片就会被剪裁,只在屏幕上显示一部分。下面的是使用固定宽度图片典型的一个栗子,页面图片和内容在电脑上显示的很好,但是由于手机尺寸相对电脑而言较小,可显示的内容区域也有所缩小,这时部分图片不能一下子显示出来,只能借助图片滚动条。本来用户选择手机浏览网站就是奔着快速、便捷去的,现在却要滑动滚动条查看全图,这种浏览体验对用户来说实在是太糟糕了,一点都没有发挥响应式布局的优点。
这个问题要怎么解决呢?我们可以给图片设置相关单位,或者使用支持响应式的框架(比如Bootstrap), 用响应式图片class名来控制(例如class="img-responsive")。同样的元素在使用响应式图片class名控制后,图片可以在手机上很好的展现,图片的滚动条也消失了(见下图)。
问题3.元素失真
这个问题可能听上去更加抽象,但是当响应式网站在小屏幕设备如手机上呈现时,它又真实的发生着。打个比方来说,未经处理过的列变成了行,这就是一种形式的元素失真,这样听上去是不是会更有概念一些?元素失真并不是一个简单的问题,因为它常常会影响网站的这个布局结构。比如在下图中,在电脑中3个图片或文本是并列的,但在手机上显示时第3个图片或文本就单独成一行了,这影响了网站内容的整体结构。
对于解决元素失真这个问题其实很简单:明确的设置网站各个元素的高、宽和内边距,但是意外的是很多人还在纠结怎样解决这个问题。另外,如果某个元素不在它应在的位置,覆盖住了其他元素,我们可以使用div(简单来说div就是一个块状的东西,有人称它为盒子,我们可以将网站中的各个元素分类放进去,便于网站布局管理),设置外边距,让它回到原本的位置。
本篇文章只讨论了响应式网站设计中可能会遇到的3个问题,但是做出一个优秀、成功的网站我们可能还会有很多弯路要走。怎样才能有效避免可能遇到的问题呢?这需要我们好好规划设计自己的网站,而且现在很多浏览器都内置了响应式布局测试,不断的进行测试,我们就能逐渐做出自己满意的网站,毕竟实践是检验真理的唯一标准嘛。快来起飞页自助建站平台(http://www.qifeiye.com/?t_wd=a5)做一个响应式网站吧!
*请认真填写需求信息,我们会在24小时内与您取得联系。