我们平时使用的图片大多数都属于位图(png、jpg..
),位图由一个个像素点构成的,每个像素都具有特定的位置和颜色值,
理论上,位图的每个像素对应在屏幕上使用一个物理像素来渲染,才能达到最佳的显示效果。
而在dpr > 1
的屏幕上,位图的一个像素可能由多个物理像素来渲染,然而这些物理像素点并不能被准确的分配上对应位图像素的颜色,只能取近似值,所以相同的图片在dpr > 1
的屏幕上就会模糊,
为了保证图片质量,我们应该尽可能让一个屏幕像素来渲染一个图片像素,所以,针对不同DPR
的屏幕,我们需要展示不同分辨率的图片。
如:在dpr=2
的屏幕上展示两倍图(@2x)
,在dpr=3
的屏幕上展示三倍图(@3x)
。
使用media
查询判断不同的设备像素比来显示不同精度的图片:
.avatar{ background-image: url(conardLi_1x.png); } @media only screen and (-webkit-min-device-pixel-ratio:2){ .avatar{ background-image: url(conardLi_2x.png); } } @media only screen and (-webkit-min-device-pixel-ratio:3){ .avatar{ background-image: url(conardLi_3x.png); } }
只适用于背景图
使用image-set
:
.avatar { background-image: -webkit-image-set( "conardLi_1x.png" 1x, "conardLi_2x.png" 2x ); }
只适用于背景图
使用img
标签的srcset
属性,浏览器会自动根据像素密度匹配最佳显示图片:
<img src="conardLi_1x.png" srcset=" conardLi_2x.png 2x, conardLi_3x.png 3x">
pagination为不同的图片,可滑动,支持点击 varmySwiper=newSwiper(.swiper-container,{pagination:{el:.swiper-pagination,type:custom,renderCu
AI图标制作完成之后,保存的svg文件包含许多AI的信息,如果要在HTML中使用,我们需要在svg文件中提取/修改信息,重
核心代码: !--图片延迟加载--scripttype=text/javascriptsrc=jquery.min.js/scriptscripttype=text/javascriptsrc=jquery.lazyload.js/scriptscriptt
!DOCTYPEhtmlhtmlheadmetahttp-equiv=Content-Typecontent=text/html;charset=UTF-8metacharset=utf-8title抽卡/titlescripttype=text/javascriptwindow.onload