基于vue做了一個(gè)移動(dòng)端的項(xiàng)目赤兴,同時(shí)引入的了第三方組件庫(kù)(有贊vant)。當(dāng)時(shí)選擇用rem件來(lái)做適配隧哮。其他內(nèi)容可以正常顯示桶良,但是引起了第三方插件內(nèi)容變小的問(wèn)題。現(xiàn)將解決方法整...
其實(shí)三方組件被縮小的原因是你設(shè)計(jì)稿是dpr=2的(所以你的remUnit為75沮翔,因?yàn)閕phone6是375px(邏輯像素)陨帆,dpr為2的,物理像素為3752=750采蚀,750/10=remUnit疲牵,其實(shí)remUnit代表的是1rem=多少的物理像素而不是邏輯像素(css中的px)),而三方組件是依據(jù)dpr=1(物理像素=邏輯像素)來(lái)寫的榆鼠,所以適配的時(shí)候會(huì)縮小一倍(比如三方組件width為30px纲爸,remUnit為75時(shí),則適配結(jié)果為0.4rem妆够,而實(shí)際上dpr等于1時(shí)的remUnit應(yīng)該為37.5识啦,適配結(jié)果應(yīng)該為0.8rem)负蚊。
說(shuō)白了就是三方組件適配時(shí)的參照標(biāo)準(zhǔn)和你設(shè)計(jì)稿的參照標(biāo)準(zhǔn)不一導(dǎo)致的,有2種解決辦法:
第一種依照設(shè)計(jì)稿的參照標(biāo)準(zhǔn)袁滥,remUnit仍為75盖桥,但是需要修改三方組件的css樣式,全部2题翻,顯然這種不太好揩徊,因?yàn)橐话悴唤ㄗh修改三方組件的源文件,還有就是修改太麻煩容易遺漏嵌赠。
第二種方法就是依照三方組件的參照標(biāo)準(zhǔn)塑荒,將remUnit修改為37.5,然后將設(shè)計(jì)稿中的元素單位除以2(也就是說(shuō)將設(shè)計(jì)稿上的大小修改為dpr等于1時(shí)的大薪Α)齿税,除以2還是比較好計(jì)算的。