Css-自适应加载多倍图

场景:

在移动端展示图片时,由于设备的物理像素比不同,导致同一张图片在不同设备中展示的清晰度不同。物理像素比越高,在同样大小的屏幕上显示的像素点越密集,所能表现的细节就越丰富,图像也就更加清晰锐利。
因此项目开发过程中,同一张图片会提供一套多倍图,包括一倍图、二倍图、三倍图,通过使用多倍图从而提高图片质量,解决高清设备中的模糊问题。


获取设备物理像素比:

  1. 使用javascript 中的 window.devicePixelRatio
  2. 使用媒体查询的 -webkit-min-device-pixel-ratio

方案:

使用时,只需调用.bg-xxx-img(图片名)即可。其中需将多倍图命名为a.png、a@2x.png、a@3x.png。或者也可以此类推,重新定义命名规范。

.bg-png-img(@name){
	background-image: url("路径/@{name}.png")
	@media (min-device-pixel-ratio: 2),(-webkit-min-device-pixel-ratio: 2) {
		background-image: url("路径/@{name}@2x.png")
	}
	@media (min-device-pixel-ratio: 3),(-webkit-min-device-pixel-ratio: 3) {
		background-image: url("路径/@{name}@3x.png")
	}
}
.bg-jpg-img(@name){
	background-image: url("路径/@{name}.jpg")
	@media (min-device-pixel-ratio: 2),(-webkit-min-device-pixel-ratio: 2) {
		background-image: url("路径/@{name}@2x.jpg")
	}
	@media (min-device-pixel-ratio: 3),(-webkit-min-device-pixel-ratio: 3) {
		background-image: url("路径/@{name}@3x.jpg")
	}
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值