设备的dpr_使用flexible后 不同设备的data-dpr还始终为1解决方法

flexible是阿里团队开源的一个js库,使用flexible.js可以轻松搞定各种不同的移动端设备兼容自适应问题。

但是最近有朋友使用flexible.js插件,但是不管切换什么设备,data-dpr的值始终为1。

最后才发现,他在head标签内加入了:

其实flexible默认会查找name="viewport"或者name="flexible"的meta标签,当默认自己设定了viewport,initial-scale="1",等等之后,相当于默认设置了dpr=1,或者name="flexible"下设置默认的 initial-dpr=1等默认值,这样flexible.js作用的html的data-dpr不会变,如果不写

或者

则会自动根据不同设备改变data-dpr的值,这样就可以根据不同的data-dpr设置字体大小不变,仅放大相应倍数,

如下less 的mixin:.font-dpr(@font-size) {  font-size: @font-size;  [data-dpr="2"] & {    font-size: @font-size * 2;

}  [data-dpr="3"] & {    font-size: @font-size * 3;

}

}

这里前提,传入的font-size是data-dpr=1的时候的值,iphone6,iphone5默认dpr为2,6plus为3

下面是flexible源码部分截图,这里注意只要meta有name=“viewport” 的都会被认为设置了默认值。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值