如何挑选第三方组件,轮播carousel插件,owl-carousel2
响应式图片
图片压缩,与webp
如何挑选第三方组件
不重复造轮子,就要选择一个好轮子:
1.使用人数
2.是否开源
3.文档是否齐全
4.活跃性
5.轻量级
随便选一个,轮播的插件还是很多的owl-carousel2,符合上述条件,使用看官方文档还是比较简单上手的。
响应式图片
加载与用户设备相匹配的图片,既快速又不会影响用户体验!
1.js或者服务器
$(document).ready(function () {
function makeImageResponsive() {
var width = $(window).width();
if(width < 400){使用A图片}else {使用B图片}
}
$(window).on('resize load',makeImageResponsive);
})
直接看代码,就是读取浏览器width选择相对应的图片,此外还可以设置cookie配置不同图片。
2.srcset和sizes
看大神的解释
响应式图片srcset全新释义sizes属性w描述符,列子如下
<img src="a.png" alt=""
srcset="a480.png 480w,b800.png 800w,c1600.png 1600w"
sizes="100vw">
3.<picture>标签效果,与兼容
<picture>
<source srcset="img/ad001-l.png" media="(min-width:50em)">
<source srcset="img/ad001-m.png" media="(min-width:30em)">
<img src="img/ad001.png" alt="2015年度报告">
</picture>
通过媒体查询的方式,根据页面宽度(当然也可以添加其他参考项如是否横屏)加载不同图片。这样不仅节省带宽还能使得图片更加适配内容。但是好事都没有这么顺利,现在很多浏览器不支持picture标签。
这里就需要引入另一个概念--Polyfill
举个例子,html5的storage(session,local), 不同浏览器,不同版本,有些支持,有些不支持。
我们又想使用这个特性,怎么办?
有些人就写对应的Polyfill(Polyfill有很多),帮你把这些差异化抹平,不支持的变得支持了(简单来讲,写些代码判断当前浏览器有没有这个功能,没有的话,就写一些支持的补丁代码)。
你只需要把需要的Polyfill引入到你的程序里,就可以了。所以picture标签也有它自己的polyfill--picturefill.js,引入JS则低版本浏览器可以兼容picture标签。
4.svg
svg矢量图解决响应式问题,不做描述,svg也是解决方式之一。
图片压缩和webp
图片压缩可以给用户带来极大体验度提升,UI给出的png图通过压缩后一般可以缩小1/3,且像素效果差不多。
推荐网站
webp是谷歌开发的图片格式,同质量下比jpg小1/3。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。