响应式网站设计中常见的3个问题
虽然响应式网站布局有很多优点,同时适用于多种设备,在不同客户端给用户提供舒适的浏览体验,节约不同页面的人力开发成本,便于SEO优化。但是,在我们设计响应式网站的过程中常会发现它也存在一些问题,这些问题是怎么产生的呢?又该怎样解决呢?小编今天列举了响应式网站设计中常见的3个问题以及相应的解决方法,希望大家能够从中得到启发。
问题1.菜单分行
如果你在网页的上方使用了导航栏,当这个页面在小屏幕的设备上呈现时,响应式设计通常会将这个导航菜单压缩到更紧凑的格式,以在小屏幕中实现良好的呈现。但这并不总是有效的,如果显示区域比断点要宽(断点,通俗来讲就是换行处),又不足够在一行中将所有的菜单逐一呈现出来,这时就会出现菜单分行的情况(见下图,红色栏即为分行的菜单栏)。导航菜单在页面的上方,访客访问网站时很容易就会注意到这一点,菜单分行会给用户留下比较差的第一印象。那么怎样才能避免菜单分行情况的发生呢?
解决这个问题有好几种方法,第一种方法就是减少导航菜单上水平展示的菜单栏的数量。当菜单栏选项较多时,我们可以对它们进行相应的整合,分成类别和子类别。子类别可以在用户选择类别的时候通过下拉菜单的方式显示,这样横排的菜单栏就会减少了。第二种方法就是将断点设为更低的值。断点的实际值应该是导航菜单可能无法显现的宽度,而不是某个特定设备的尺寸。
问题2.使用固定宽度的图片
网站的内容区域一般随视窗的大小而改变,所以当一个固定宽度的图片比内容区域要宽的时候,图片就会被剪裁,只在屏幕上显示一部分。下面的是使用固定宽度图片典型的一个栗子,页面图片和内容在电脑上显示的很好,但是由于手机尺寸相对电脑而言较小,可显示的内容区域也有所缩小,这时部分图片不能一下子显示出来,只能借助图片滚动条。本来用户选择手机浏览网站就是奔着快速、便捷去的,现在却要滑动滚动条查看全图,这种浏览体验对用户来说实在是太糟糕了,一点都没有发挥响应式布局的优点。
这个问题要怎么解决呢?我们可以给图片设置相关单位,或者使用支持响应式的框架(比如Bootstrap), 用响应式图片class名来控制(例如class="img-responsive")。同样的元素在使用响应式图片class名控制后,图片可以在手机上很好的展现,图片的滚动条也消失了(见下图)。
问题3.元素失真
这个问题可能听上去更加抽象,但是当响应式网站在小屏幕设备如手机上呈现时,它又真实的发生着。打个比方来说,未经处理过的列变成了行,这就是一种形式的元素失真,这样听上去是不是会更有概念一些?元素失真并不是一个简单的问题,因为它常常会影响网站的这个布局结构。比如在下图中,在电脑中3个图片或文本是并列的,但在手机上显示时第3个图片或文本就单独成一行了,这影响了网站内容的整体结构。
对于解决元素失真这个问题其实很简单:明确的设置网站各个元素的高、宽和内边距,但是意外的是很多人还在纠结怎样解决这个问题。另外,如果某个元素不在它应在的位置,覆盖住了其他元素,我们可以使用div(简单来说div就是一个块状的东西,有人称它为盒子,我们可以将网站中的各个元素分类放进去,便于网站布局管理),设置外边距,让它回到原本的位置。
扫码访问手机页面