如何设计响应式网页中的图片和图库
响应式网页设计已经是如今网站当之无愧的标准配置了,我们需要响应式的技术来应对日渐碎片化的屏幕尺寸,网页设计师也力图做好这件事情,而网页中的图片和图库的响应式设计,也是其中的重点难点,它们是网页中最常见,也是最直观可见的元素。
打开一个漂亮精致的网站,然而其中的图片和图库看起来怎么都和页面不匹配,这样的情况恐怕是最让人抓狂的了。
如果要设计好响应式的图片和图库,接下来要聊的一些方法技巧,兴许能给你提供一个明确而系统的思路,它们并不涉及到具体代码实现,更多牵涉到设计过程和处理手法,做好了这些工作,具体实现起来就不难了。
1、考虑高宽比
桌面端的图片浏览体验和移动端是完全不同的,这一点毋庸置疑。对于绝大多数的网站而言,图片展示的位置都很相近,大同小异。而设计师的任务,是要确保网站随着屏幕和设备变化的时候,图片的展示不会在页面布局的伸缩变化过程中变得奇怪和失真。
这个时候,就要始终牢记图片的高宽比,并且始终控制高宽比不会改变。
回到桌面端网页中,大幅的背景图或者置于页面顶端的图片看起来非常漂亮,可是当它切换到移动端设备中的时候,首先屏幕比例和方向就不同了,那么它是否还那么好看呢?图片被缩小之后,信息的呈现是否会丢失?它是否会被拉伸?
这个时候,图片的高宽比的控制就显得特别重要了,控制原始图片不被拉伸,同时让图片所展示出来的部分的高宽比能够尽可能合理地匹配对应的屏幕,这样也就不必担心响应式断点过多,导致你需要上传过多的图片。
2、尺寸和比例的一致性
响应式设计就不能不说断点,为了照顾不同的屏幕,我们需要将图片裁剪成不同比例不同尺寸的大小,而这也直接影响着整个设计与开发的设计流程。
许多人仅仅只是将图片上传到CMS系统中,就希望它能以完美的样式呈现出来,这是不现实的!
每张图片都应当被裁剪为合理的尺寸,并且放置在理想的位置上,确保它们会以用户期望的样子呈现出来,后端可能会在这件事情上花费相当的时间和精力,但是这些努力是值得的。
3、使用轮播图或者图库
轮播图控件和图库控件是网站中最常见的图片载体,并且也可以更加自如的管理图片,尤其是当你使用了那些比较著名或者适配范围比较广的第三方控件的时候,控制图片元素的粗活重活基本上都会被这些控件接手过去。
不过,我们之前提到的图片长宽比和尺寸大小的控制同样也是要注意的,否则一样会让网页的展示效果变尴尬。
除此之外,你还需要什么场合使用什么样的控件,如果你拥有若干高品质的图片或者需要推荐特定的文章和专题,那么你需要使用幻灯片轮播图控件。
如果你拥有大量有待展示的图片,可以缩小展示也不存在可读性问题的话,不妨使用图库类的控件来展示,许多作品集类的网站常常会使用图库控件(具体可查看马海祥博客《响应式网页图片库设计的基本规则和技巧》的相关介绍)。
4、只使用高素质的图片
虽然这个道理不言自明,但是它仍然必须反复提醒,如果你没有高素质的图片,那么还不如干脆不要用图片得了。
现在,高素质、高分辨率的图片比以往任何一个时代都显得必需和重要,用户不会花费时间去看一个图片素质低下的网站,大家的屏幕都已经是视网膜屏幕了,低素质的图片在这样的屏幕上显得更加无法直视。
既然大家都在追求顶尖的视觉效果,那么高素质图片无疑是必需品。
5、尽量避免使用图片说明(Captions)
虽然图片说明能够让你的图片的信息更加丰富,但是它会非常直接地影响到网页的运作,尽量避免使用它们,如果实在是需要,尽量用其他的方式来呈现。
图片的Caption属性加入之后,确实能在桌面端拥有良好的渲染效果,但是小屏幕上常常问题不断,为了不让这些细小的可用性的问题影响用户体验,尽量避免使用就好了,因为这种小问题而让用户无法忍受并且离去,并不划算。
6、创建新图像格式
针对响应式图片创建一种新的图像格式,该新的格式包含了几种不同大小版本的图片,比如100k的文件里有75k的版本、20k的版本和5k版本的图像。
从某种意义上讲就像.mp3格式那样,该种文件格式既存储了歌曲也存储了歌曲的meta信息,这里的图像版本信息就好比MP3的meta信息,然后依据既定的一组标准选择该里面最为合适设备的一个图片版本。
这种解决方法的缺点是必须放弃一些可控性能,新文件格式会自行决定什么时候使用哪个版本的图片,只是当然对于不支持该种格式的浏览器也失去了后向兼容(具体可查看马海祥博客《响应式网页设计的基本原则布局》的相关介绍)。
7、图片和视频混用要小心
如果网站中同时存在图片和视频类的多媒体,用户和设计者应该都是能够接受的,甚至许多用户已经习惯了这样的设计。
但是要注意的是,即便是在同一个页面中,也尽量不要让图片和视频同时存在于同一个控件或者区块中,也许这样看起来很炫酷,也许一部分图片和视频能够搭配起来,但是更多的视频和图片很难在尺寸上保持一致,导致总会有一部分图片或者视频会留下空白和间隙。
最好的方案还是将两者分开展示,避免了媒体属性和尺寸上的差异与冲突,这几乎适用于任何设计元素,而图片和视频尤甚。
8、削减不必要的元素
虽然轮播图和图库控件非常好用,但是许多设计师常常会往其中添加许多垃圾的内容,最常见的就是塞入一堆导航箭头、按钮、文本甚至行为召唤按钮,这样的例子不胜枚举。
一般情况下,用户其实是熟知如何同轮播图这类控件进行交互的,除非你的设计和我们的认知有着巨大的差异,以至于必须使用其他的导航方式来引导用户。
尽量只保留用户需要的元素,把事情简单化,不要给予太多的选择,其实简单化之后的设计可以提升你的转化率(具体可查看马海祥博客《如何使简单的设计变得更为简单》的相关介绍)。
9、创建一个新的(html)元素
图片响应式化的第一步是让它自适应,移除高、宽属性然后设置max-width属性为100%。然而这并不能从根本上解决问题。主要的问题在于,那样做会不得不创建一张大尺寸高分辨率的图像,很明显这种图片并不利于移动终端设备的接收。
一种有效的解决方法是使用新的HTML语法,告知浏览器应当使用那张合适的图片;也许我们应当创建新的图像格式,那样也能解决现在的问题。
该方法已经在使用了,不过在使用方式上存在一些争议。这些争议主要来自两方面:业界的web开发者和浏览器制造者。
web开发者提议创建一个新的picture元素(类似HMTL5中的video这样的元素),该元素中包含其他的图片源,示例代码如下:
<picture alt="image description">
<source src="/path/to/medium-image.png" media="(min-width: 600px)">
<source src="/path/to/large-image.png" media="(min-width: 800px)">
<img src="/path/to/mobile-image.png" alt="image description">
</picture>
其中的img元素是默认情况下显示的图片源,在其上面的两个source元素则是在特定媒体查询(media queries)条件下显示的图片——这也是开发者所喜欢的一种解决方案。
Scott Jehl针对图片元素创建了polyfill项目,就是利用了这种思想,你现在可是就可以使用它了。
<span data-picture data-alt="A giant stone face at The Bayon temple in Angkor Thom, Cambodia">
<span data-src="small.jpg"></span>
<span data-src="medium.jpg" data-media="(min-width: 400px)"></span>
<span data-src="large.jpg" data-media="(min-width: 800px)"></span>
<span data-src="extralarge.jpg" data-media="(min-width: 1000px)"></span>
<!-- Fallback content for non-JS browsers. Same img src as the initial, unqualified source element. -->
<noscript>
<img src="small.jpg" alt="A giant stone face at The Bayon temple in Angkor Thom, Cambodia">
</noscript>
</span>
浏览器开发者则是通过给img元素标签增加srcset属性来解决此问题的,功能一样,然而直觉上不好理解。
<img src="path-to-default-image.jpg" alt=""
srcset="path-to-default-image.jpg 600w 200h 1x,
path-to-another-image.jpg 600w 200h 2x,
path-to-a-third-image.jpg 200w 200h">
以srcset的一个值为例讲解:
path-to-another-image.jpg 600w 200h 2x
(1)、path-to-another-image.jpg 是不言自明的,当符合下述条件时就使用该图片。
(2)、依据media queries要求,设备最小尺寸为600w和200h
(3)、浏览器有以2x像素密度显示的能力
因此这里所表达的意思是,当浏览器能够处理2x像素图片,且设备至少是600px宽、200px高的情况下,使用此图片源显示,此种解决方法从浏览器开发者角度看是非常合适的,毕竟能够让浏览器自己通过算法获取设备的兼容性和像素密度。
上述两种方法各有优点,此篇文章也并未认为其中一方的方法要好于另一方的。作为网站开发者我比较喜欢用picture元素,然而使用srcset属性的img元素有更强的兼容性。这场讨论现今仍在进行,大多数人希望能够找到一种吸取两者优点的方法。
不过为今之计,还是不得不借助现有的技术实现图像响应式。这些技术的思想是提供移动端版本的图像,然后探测其是否还能处理更大的图像,如果可以则使用Javascript脚本将更大的图片替换默认的小图。
10、使用特定技术手段
上述的方法固然简单,然而面前还未正式标准。如果你想为不同的设备提供不同的合适图片,可以考虑使用下列多种方法之一,很多博文都将在一节篇幅中叙述所有这些技术。
我们可以模仿Filament Group的做法,他们针对Boston Globe网站提供响应式图片的做法如下:
(1)、Markup —默认是用img元素标签。
(2)、javascript — 决定viewport的尺寸,将存储在cookie中的相关信息传给服务器,而后再改变img标签的src属性。
(3)、Server — 获取初始图片请求,读取cookie,如果不是移动终端设备则返回1x1大小的空白占位图,然后等待JS脚本将真正的图片填充进去。
这种方式并没有想期望中那样完美,却也给出了一种解决思路,可以让其他人在上面继续发挥。
许多后续的方法其思路与此相仿,默认都是提供移动端图片,继而尝试探测设备属性后再发送合适大小的图片。
Chris Coyier 和 Christopher Schmitt创建了一张电子表格,你可以据此作为你项目中选用何种技术的参考,Chris也基于这张电子表格写了一篇技术文章回答大多数疑问——你应当使用哪种自适应图片技术?我在上面所提及的技术也许给你一些大概的印象,你不妨看看Chris的那篇文章和电子表格,以了解这些技术的细节实现。
Foresight.js是在给服务器发送请求之前用JavaScript去探测该设备是否支持高分辨率图片,同时也探测该设备所在网络的网速,依据探测结果才向服务器请求合适的图片资源。
Images redux使用空白的1x1GIF(转成base64格式),它将该图片设置为所有图片的初始背景或占位符,提供更好的用户体验,由于图片是依据CSS设置的,所以可用media queries改变响应样式。
Adaptive images项目灵感来源于Filament Group重构Boston Globe网站的工作。不过它需要诸如Apache 2, PHP 5.x, 和 GD 库等的支持,好在这些工具都比较常用。该技术首先在cookie中保存屏幕分辨率,然后决定使用哪种合适的图片尺寸。如果JavaScript和cookie被禁用了,它就检测user agent字符串。如果发现“Mobile”字符,就发送最低分辨率(定义在$resolutions里)的图片给终端,否则就默认假设你使用大设备终端并发送高分辨率图像。
HiSRC是一个jQuery插件,它能探测网络速度与分辨率,默认情况下只提供最小的图片,但是HiSRC能够探测设备更多的能力,然后提供更多不同类别的图像。
Jeremy Keith在文章里提出Conditionally Loading Content的方法,也是关于如何向不同设备提供不同图像。由于探测了viewport的宽度,Jeremy其实是提供了自定义的解决方案。Jeremy在后续的文章中也提出了Conditional CSS方法,展现了如何在前人的基础上进行改进的方案。
马海祥博客点评:
我们都希望能够搭建出让用户能够操作、愿意使用的优质网站,而优秀的图片是其中最关键的元素,绝对不能疏忽。
当你的网站还处于想框图绘制阶段的时候,最好将多种设备的展示效果都纳入考虑中来,虽然这样看起来有点麻烦,但是会让后期省心很多,从长远来看是相当值得的。
图片响应式和响应式设计其实还有很长一段路要走,我还会继续就这个话题展开叙述,下次应该主要涉及矢量图像方面的内容,由于这方面的内容和此篇文章主题关系甚微,所以就单独展开。
本文发布于马海祥博客文章,如想转载,请注明原文网址摘自于http://www.mahaixiang.cn/wzsj/1705.html,注明出处;否则,禁止转载;谢谢配合!相关标签搜索: 响应式 网页设计 响应式网页 图片 响应式设计 图库
上一篇:关于响应式页面重构的一些关键技术点
下一篇:网页设计师该怎样设计一个网页?
您可能还会对以下这些文章感兴趣!
-
全能型设计师必备的10个技能
为了成为一个全能的设计师,你必须学会掌握一些技能来有效的应对客户或你的老板,很多情况下,一个设计师需要有良好的审美观和许多年的经验,而将那些“经常被雇佣”的设计师和其他设计师区分开来的就是下面列出来的技能,掌握这些技能,你不仅能在团队中成为更有价值的……【查看全文】
-
响应式网页布局的实现方法原理
昨天我在马海祥博客上跟大家详细的介绍过《什么是响应式网页设计?》,我觉的响应式网页设计不仅仅是一种趋势,还更是一个新的设计解决方案!它有助于解决不同的分辨率和设备(台式电脑,笔记本电脑,平板,手机)相关的设计问题。既然是设计的问题,这里就会涉及到很多……【查看全文】
-
什么是响应式网页设计?
响应式网页设计(Responsive Web design,通常缩写为RWD)是指:页面的设计与开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的响应和调整。可以说是一种网页设计的技术做法,该设计可使网站在多种浏览设备(从桌面电脑显示器到移动电话或其他……【查看全文】
-
分享20个极简主义的网页设计风格
极简主义的设计之所以总是流行,是因为他们一直用一些很简单的创意和资源去表达概念,网页设计的领域受极简主义设计的影响很大,许多有才华的设计师总是用几个简单的工具就设计出了不起的网站,比如字体和几何图形等元素。简约设计的优势不仅仅是其优雅的风格,也有在网页加……【查看全文】
-
全方位解析响应式网页的设计与应用
响应式网页设计可以提供一个比较满意的效果,他给广泛的应用设备提供了一个自定义的解决方案,无论是一个老式旧笔记本还是最先进的设备都能够获得比较好的体验。但响应式网页设计也并不是最好的,这只是个单纯的概念,它可以有效的提高用户体验但是却不能彻底解决。我们……【查看全文】
-
基于页面易读性的文字编排设计要点
文字的编排还应注意文字本身的格式效果。图文画面构成中,把不同重点的文字内容用不同的字体来表现,是设计中常用手法,如:行首的强调、引文的强调等。但字体过多画面就显得不安宁,字体过少又缺乏必要的生气,字体数量的多寡常暗示平面中核心内容的多少,所以我们要详……【查看全文】
-
响应式网页设计的排版设计趋势
假如你研究一个流行的作品集网站,里面展示了当今的网页设计,毫无疑问,你会注意到网页的基本结构千变万化,根本没有固定形态,它可以伸缩变化成任何所需的东西,我认为这是响应式网页设计带来的最棒的副产品,事实上,新的准则,就是根本没有固定准则,我们能观察发现……【查看全文】
-
网站设计的重要因素及注意事项
网站设计(Web Design)就是一个把信息需求转换成用软件网站表示的过程,就是指在因特网上,根据一定的规则,使用Dreamweaver、photoshop等工具制作的用于展示特定内容的相关网页的集合。网站设计的目的就是产生网站。简单的信息如文字,图片(GIFs, JPEGs,PNGs)和表格……【查看全文】
-
网页设计新手需知道的10条实用法则
大胆留白是设计概念中常常会提到的理论,但真正能根据理论具体落实的设计师却为数不多,可能是因为设计师胆儿不够大,另一种可能是没有在实际中领会到留白的美妙,网页设计中的留白是为了在有限的容量中预留一些让其中元素呼吸的负空间,并不是一种所谓的“偷懒”行为,……【查看全文】
-
关于响应式页面重构的一些关键技术点
单纯的页面重构,所涉及到的工作内容一般是“分析设计稿>切图>写HTML和CSS”,虽然看起来很少,但要做好这份工作,绝非所想的那么容易。原因很简单:工作内容单一,在时间和工作量上必会很苛刻,往往跟设计师的工作时间是3:1,即设计师给三天的时间,制作只给一天的时间……【查看全文】
分类目录
互联网更多>>
- 互联网思维的一些特征 如今,互联网迅猛发展已经渗透人们生活各个方面,尤其是互联网正加快向传统行业渗透和融合,对传统行业提出严……
- 盘点2010年代这10年的重大网络安全事件 二十一世纪的第2个十年即将过去,在过去十年里有很多的重大网络安全事件发生,我们见证了过去十年,大量的数据……
- 基于高斯模糊原理的模糊图片的研究 高斯模糊(Gaussian Blur)的原理中,它是根据高斯曲线调节象素色值,它是有选择地模糊图像。说得直白一点,就是高……
SEO优化 更多>>
-
SEO是什么?
对于刚入SEO行业的新人来说,要想做好网站的s…… -
今年网站SEO优化要注意的6大策略
通俗的来说,SEO技术就是一种达到SEO效果所采用…… -
网站收录量对于网站排名的影响作用
很多做SEO的朋友都会问,是不是网站收录越多网…… -
百度搜索将推出飓风算法2.0:严厉打
为了营造良好的搜索内容生态,保护搜索用户的…… -
移动端手机站做站内优化的要点
随着移动流量的与日俱增,移动搜索引擎的功能…… -
史上最全的网站SEO策略方案
在搜索引擎优化中,一个网站的SEO策略能最终影…… -
百度冰桶算法5.0:保障移动搜索用户
为了提升移动搜索落地页体验,营造优质的移动…… -
如何使用留言评论进行推广引流
随着新媒体的快速发展,留言评论变得随处可见……