摘要:什么是响应式设计作为一名合格的前端开发攻城狮工程师,做的最多的恐怕就是多端适配,多端兼容的工作了吧,那么如何解决一套代码多端并行且多端适配呢这个时候响应式开发就应运而生了。五标签的属性除了响应式图像,标签还可以用来选择不同格式的图像。
什么是响应式设计?
作为一名合格的前端开发攻城狮(工程师),做的最多的恐怕就是多端适配,多端兼容的工作了吧,那么如何解决一套代码多端并行且多端适配呢?这个时候响应式开发就应运而生了。什么是响应式设计?什么又是响应式图像呢?
我们来了解什么是响应式设计:网页在不同的设备上,都可以达到让使用者感觉比较舒适的合理的视觉体验,叫做“响应式设计”(responsive web design)。
由响应式设计的网页图像,就叫做响应式图像
响应式的解决方案有很多,JavaScript 和css都可以实现,这里我们了解一种最简单的,语义最好的HTML的解决方案,而且浏览器都原生支持的。
一、由img标签引起的问题这一行代码在移动端和PC端,插入的都是图片screen.png文件
这种方式虽然简单高效,可以多端并行,但是有很多的弊端:
1、体积比较大。假设来说我们这个图片有300Kb,在PC端可以使用较大的尺寸,那么在移动端,我么就需要一个看起来比较符合舒服的尺寸,这样既可以节省带宽,降低服务器的压力,也可以更快的让图片渲染出来,提供良好的用户体验。
2.像素密度问题。做过移动端的开发的攻城狮都了解过PC的渲染和移动端的渲染是不一样的。PC端一般是单倍的像素密度,而手机上的显示器往往是多倍的像素密度。这样的后果就是我们同样一张图,在PC上很清晰,到手机上渲染的时候看起来就很模糊,因为像素扩充了。
3.视觉体验。因为我们桌面级别的显示器屏幕的面积更大,可以暴露出来很多图像的细节,但是手机屏幕比较小,很多细节是无法看清楚的,需要突出重点
二、图片大小的选择
为了解决体积问题希望不同尺寸的屏幕,显示不同大小的图像,我们需要srcset属性搭配sizes属性。
上面代码中,
srcset:
srcset属性列出四张可用的图像,每张图像的 URL 后面是一个空格,再加上宽度描述符。
宽度描述符就是图像原始的宽度,加上字符w。上例的四种图片的原始宽度分别为320像素、640像素和1980像素。
2.sizes:sizes属性给出了三种屏幕条件,以及对应的图像显示宽度。宽度不超过440像素的设备,图像显示宽度为100%;宽度441像素到900像素的设备,图像显示宽度为33%;宽度900像素以上的设备,图像显示宽度为254px。
3.浏览器根据当前设备的宽度,从sizes属性获得图像的显示宽度,然后从srcset属性找出最接近该宽度的图像,进行加载。
假定当前设备的屏幕宽度是960px,浏览器从sizes属性查询得到,图片的显示宽度是33vw(即33%),等于320px。srcset属性里面,正好有宽度等于320px的图片,于是加载foo-320.jpg。
注意,sizes属性必须与srcset属性搭配使用。多带带使用sizes属性是无效的。
四、
如果要同时适配不同像素密度、不同大小的屏幕,应该怎么办呢?
这时,就要用到
上面代码中,
浏览器按照
标签是默认情况下加载的图像,用来满足上面所有
上面例子中,设备宽度如果不超过500px,就加载竖屏的图像,否则加载横屏的图像。
五、除了响应式图像,
上面代码中,
浏览器按照
六、参考链接
http://www.ruanyifeng.com/blo...
更多优质文章请关注公众号
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/114819.html
摘要:什么是响应式设计作为一名合格的前端开发攻城狮工程师,做的最多的恐怕就是多端适配,多端兼容的工作了吧,那么如何解决一套代码多端并行且多端适配呢这个时候响应式开发就应运而生了。五标签的属性除了响应式图像,标签还可以用来选择不同格式的图像。 什么是响应式设计? 作为一名合格的前端开发攻城狮(工程师),做的最多的恐怕就是多端适配,多端兼容的工作了吧,那么如何解决一套代码多端并行且多端适配呢?这...
摘要:的网站仍然使用有漏洞库上周发布了开源社区安全现状报告,发现随着开源社区的日渐活跃,开源代码中包含的安全漏洞以及影响的范围也在不断扩大。与应用安全是流行的服务端框架,本文即是介绍如何使用以及其他的框架来增强应用的安全性。 showImg(https://segmentfault.com/img/remote/1460000012181337?w=1240&h=826); 前端每周清单专注...
阅读 3729·2021-11-24 09:39
阅读 2924·2021-11-16 11:49
阅读 2046·2019-08-30 13:54
阅读 1076·2019-08-30 13:03
阅读 1045·2019-08-30 11:10
阅读 688·2019-08-29 17:10
阅读 1224·2019-08-29 15:04
阅读 1186·2019-08-29 13:02