基于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)寫(xiě)的,所以適配的時(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ì)算的。