基于vue做了一个移动端的项目,同时引入的了第三方组件库(有赞vant)。当时选择用rem件来做适配。其他内容可以正常显示,但是引起了第三方插件内容变小的问题。现将解决方法整...
其实三方组件被缩小的原因是你设计稿是dpr=2的(所以你的remUnit为75,因为iphone6是375px(逻辑像素),dpr为2的,物理像素为3752=750,750/10=remUnit,其实remUnit代表的是1rem=多少的物理像素而不是逻辑像素(css中的px)),而三方组件是依据dpr=1(物理像素=逻辑像素)来写的,所以适配的时候会缩小一倍(比如三方组件width为30px,remUnit为75时,则适配结果为0.4rem,而实际上dpr等于1时的remUnit应该为37.5,适配结果应该为0.8rem)。
说白了就是三方组件适配时的参照标准和你设计稿的参照标准不一导致的,有2种解决办法:
第一种依照设计稿的参照标准,remUnit仍为75,但是需要修改三方组件的css样式,全部2,显然这种不太好,因为一般不建议修改三方组件的源文件,还有就是修改太麻烦容易遗漏。
第二种方法就是依照三方组件的参照标准,将remUnit修改为37.5,然后将设计稿中的元素单位除以2(也就是说将设计稿上的大小修改为dpr等于1时的大小),除以2还是比较好计算的。