CSS3和HTML5网页设计:响应式网页图片设计

文章简介:HTML5与CSS响应式图片。

随着 Retina 屏幕的逐渐普及,网页中对图片的适配要求也越来越高。如何让图片在放大了两倍的 Retina 屏幕显示依然清晰,曾经一度困扰着网页开发者,好在 CSS3 与 HTML5 已经着力在改变这种现状。那么到底什么是响应式图片呢?

什么是响应式图片?

响应式图片是指:用户代理根据输出设备的分辨率不同加载不同类型的图片,不会造成带宽的浪费。同时,在改变输出设备类型或分辨率时,能及时加载对应类型的图片。

CSS 响应式图片

对于很多 IOS 开发者来说可能已经不太陌生了,为了适配Retina 屏幕,传统的 CSS3 实现方式是通过加载一张宽高分别放大两倍的图片,然后通过 Media Queries 使背景图片尺寸减小一倍「background-size:50% 50%;」,例如:

?

1
2
3
4
5
6
7
8
9
10
11
12
13

.mod .hd h3 { background-image:url(http://www.csswang.com/wp-content/uploads/2013/01/030234veU.png );/* 普通屏幕 */
/* ———— Retina ———— */
@media only screen and (-o-min-device-pixel-ratio: 2/1), /* Opera */
only screen and (min–moz-device-pixel-ratio: 2),        /* Firefox 16 之前 */
only screen and (-webkit-min-device-pixel-ratio: 2),    /* Webkit */
only screen and (min-resolution: 240dpi),                    /* 标准 */
only screen and (min-resolution: 2dppx)                      /* 标准 */
{
.mod .hd h3{
background-image:url(http://img02.taobaocdn.com/tps/i2/T1t9wzXlxXXXczY8cm-212-310.png);
background-size: 106px 155px;
}
}

两张图片的对比效果:

在制作@2x图片时需要注意一些问题:

如果类似上图一样是纯文字内容的图片,不要直接从大图片缩放为小图片,这样文字效果会有些失真,这是 Photoshop 渲染的问题。应该调整字号,再重新排版。可以直接看看一淘首页的效果

蓝框内是直接缩放图片大小的效果,红框内是把字号从32号改成16号的效果。

Demo详见:http://dev.opera.com/articles/view/an-introduction-to-meta-viewport-and-viewport/

HTML5 响应式图片

CSS image-set 解决了背景图片的响应式问题,但是 HTML中的 img 元素怎么办呢?正当我一筹莫展的时候,2011年11月 @brucel 提出了HTML5 的一个草案:

?

1
2
3
4
5
6
7

<picture alt=”">
<source src=hires.png media=”min-width:800px”>
<source src=midres.png media=”min-width:480px”>
<source src=lores.png>
<!– 不支持的浏览器降级处理 –>
<img src=midres.png alt=”">
</picture>

于此同时,其他的一些想法如雨后春笋般涌现出来,于是 W3C 社区讨论组 Responsive Images Community Group 应运而生。最新的规范在这里:http://picture.responsiveimages.org/ 。截止本文发布时间,最近一次更新是 2013年1月7日,规范示例:

?

1
2
3
4
5
6
7

<picture width=”500″ height=”500″>
<source media=”(min-width: 45em)” srcset=”large-1.jpg 1x, large-2.jpg 2x”>
<source media=”(min-width: 18em)” srcset=”med-1.jpg 1x, med-2.jpg 2x”>
<source srcset=http://www.webjx.com/css/”small-1.jpg 1x, small-2.jpg 2x”>
<img src=http://www.webjx.com/css/”small-1.jpg” alt=”">
<p>Accessible text</p>
</picture>

可以看到这里的「srcset」属性类似 image-set,通常情况下,srcset 里面的资源是具有 fallback 特性的,也就是说第一个图片资源无法加载的时候可以跳过加载后面的备用资源。 但是 Apple 的 eoconnor 提出的方案是这样的:

?

1
2
3

<img src=http://www.webjx.com/css/”foo-lores.jpg” srcset=”foo-hires.jpg 2x,
foo-superduperhires.jpg 6.5x”
alt=”decent alt text for foo.”>

诚然,任何一个新标准的提出,都会存在各种不同的声音,这是好事,作为网页的最终开发者其实并不太关心实现语法。有任何问题大家也可以直接到 HTML5 中文兴趣小组参与讨论。

小结

本来想把新年的第一篇文章写的欢乐一些,不过貌似没啥槽点。HTML5 响应式图片的草案还刚刚开始,不过前景还是很美好的。目前我们能做的就是在CSS 中使用 image-set 属性值,因为目前大部分 Retina 屏幕的设备的浏览器都是基于 Webkit 内核的,如果有特殊的需求可以使用  Media Queries。

时间: 2024-11-30 23:31:04

CSS3和HTML5网页设计:响应式网页图片设计的相关文章

响应式网页设计:rem设置网页字体大小自适应

文章简介:响应式网页不仅仅是响应不同类型的设备,而且需要响应不同的用户需求.响应式的初衷是为了让信息更好的传递交流,让所有人无障碍的获取信息,同时这也是 Web 的初衷. 首先简单科普一下什么是响应式网页.响应式网页是指会根据输出设备的分辨率不同,而自动调整布局的网页.同时,在输出设备分辨率改变时,也能及时自动调整.说穿了,就是三个字:自适应. 响应式网页不仅仅是响应不同类型的设备,而且需要响应不同的用户需求.响应式的初衷是为了让信息更好的传递交流,让所有人无障碍的获取信息,同时这也是 Web

FROONT在线可视化响应式网页设计工具

  Froont是一个允许设计师在线设计响应式网页的工具,不需要程序员介入的设计编程工具,为设计师们提供了可视化的在线网页设计环境,绝对是响应式网页设计的利器.如果你还在为用PS画出网站在不同设备上的 demo 图,并和攻城师苦苦兼容各浏览器而懊恼的话,来试试Froont吧! 制作过程中,Froont会根据你的网页将呈现的设备:比如手机.平板.笔记本或者是宽屏电脑,自动调整页面布局,适应各个块之间的相对位置. 嗯,如果你有神马不懂的,可以看首屏那个视频,戳 Watch video 即可,了解后再

移动互联网时代:响应式网页设计已成为大势所趋

我们正处在移动互联网快速发展的时代,智能手机和平板也越来越普及,有些人甚至都到了没有智能手机或平板就无法过活的地步.智能手机和平板的普及,也就意味着越来越多的用户会通过移动设备访问互联网. 通过移动设备访问互联网的用户或多或少都有过这样的经历:有些网站压根就没有针对移动设备的网站,哪怕是有,大多都是不够"移动友好",阅读体验完全跟不上传统的Web版本;而且在不同的移动设备上,浏览体验也是大相径庭,让很多用户大为苦恼. 根据相关数据统计,到2015年,移动互联网的用户数量将会超过桌面用户

提供超多HTML5+CSS3响应式网页模版免费下载的酷站

  今天介绍的HTML5 UP! 提供大量的HTML5 模版,而且这些模版都支持响应式网页设计 ,有了它我们就不用从无到有.从头到尾来打造一个网站,而是直接就现有的样版去做修改或调整,让建网站难度降低许多,也减少花费的时间和开支.来收! 因为自适应网页设计在开发上较为繁琐,一般很少免费提供下载的网站,但 HTML5 UP! 收录一系列共 28 种网页设计,通通都是 HTML5+CSS3 并有响应式设计 功能,网站采用的授权方式为 Creative Commons 姓名标示 3.0,也就是说你可以

响应式网页设计和移动互联网

文章简介:响应式网页设计被提出以来,争论就不断,其实核心问题只有两个个:太多的资源请求和有限的终端支持之间的矛盾.响应式的网页设计和移动终端在用户体验和视觉风格上的差异. 个话题最近很火爆,我也一直在关注,响应式网页设计和移动互联网密切相关,并因移动终端的丰富和普及而兴盛,并且是一个颇具争议的话题,我今天将和大家探讨下. 上周写了个简单的ppt在组内大概介绍了下,感兴趣的话可以先看下这个PPT. 移动互联网的现状和未来 在说到这个话题前,我们先看下网页设计和前端开发的现状: 全球有超过53亿手机

响应式网页设计

响应式网页设计,这个概念在国外相当火热.不管是交互设计,视觉,前端开发都投入到这个老意识新概念的技术当中. 首先我们看下什么是响应式网页设计.它为用户从他们的电脑切换到iPad.iPhone.黑莓.HTC.平板电脑等等,该网站能自动切换适应的分辨率,图像大小和脚本.换句话说,该网站能自动响应用户的喜好.通俗点说法就是有求必应的网页!  它不仅仅是一种趋势,而是一个新的设计解决方案!它有助于解决不同的分辨率和设备(台式电脑,笔记本电脑,平板,手机)相关的设计问题. 前面说了,其实这个是一个设计问题

bootstrap响应式网页设计的9条基本原则!

bootstrap响应式网页设计是针对多屏幕问题的一个很好的解决方案,但从印刷的视角来看有点困难.没有固定的页面尺寸,没有毫米或英寸,没有任何的物理限制,无从下手. 为了desktop和mobile单独使用像素设计的方法也成为了过去,因为越来越多的设备都可以打开网站.因此,我们需要弄清楚bootstrap响应式网页设计的一些基本原则,接受流体网页,而不是与之相抗.为了让它保持简单,我们将着眼于布局(是的,响应式比它更复杂,如果你想了解更多,这是一个很好的开端.) 响应式 vs 自适应网页设计 它

高质量响应式网页模版的HTML5 ZERO

  HTML5 Zero 收录来自各个网站的网站模版资源,不过它并不是以数量取胜,而是精挑细选后的结果.在这网站上收集的模版都支持响应式网页设计 ,也就是能够依照不同的浏览画面尺寸,自动调整.弹性变化为适合阅读的使用体验. 网站收录的模版类型除了部分能直接套用于 WordPress.Bootstrap 外,还有近期相当流行的 Material Design,也可以透过颜色.类型.标签等方式来筛选你要寻找的免费网站模版. HTML5 Zero (搭梯子体验更佳) STEP 1 开启 HTML5 Z

国外15个优秀的响应式网页设计教程

响应式网页设计和移动互联网密切相关,并因移动终端的丰富和普及而兴盛,它的理念是页面的设计与开发应根据用户行为以及设备环境(系统平台.屏幕尺 寸.屏幕定向等)进行相应的响应和调整.随着越来越多的设计师正使用响应式设计技术,这里就将分享国外15个优秀的响应式网页设计教程,以供学习借鉴. Beginner's Guide to Responsive Web Design Responsive Design in 3 Steps Techniques For Gracefully Degrading M