移动端适配一般是两种方式
一JS方式:
setRem();
window.addEventListener("orientationchange", setRem);
window.addEventListener("resize", setRem);
function setRem() {
/*
* 以750*1334的设计稿为例:1rem=40px
*/
var html = document.querySelector("html");
var width = html.getBoundingClientRect().width;
html.style.fontSize = width / 18.75 + "px";
}
JS方式书写方便,而且适配所有的机型,但是好像会有小数点问题
二CSS方式:
/* 适配 */
@media only screen and (min-width: 320px) {
html {
font-size: 17.066666px !important;
}
}
@media only screen and (min-width: 360px) {
html {
font-size: 19.2px !important;
}
}
@media only screen and (min-width: 375px) {
html {
font-size: 20px !important;
}
}
@media only screen and (min-width: 400px) {
html {
font-size: 21.33333333px !important;
}
}
@media only screen and (min-width: 412px) {
html {
font-size: 21.97333px !important;
}
}
@media only screen and (min-width: 414px) {
html {
font-size: 22.08px !important;
}
}
@media only screen and (min-width: 480px) {
html {
font-size: 25.6px !important;
}
}
@media only screen and (min-width: 768px) {
html {
font-size: 40.96px !important;
}
}
CSS方式适配比较麻烦,每一个机型都要去手动设置,但是比较准确,小数点问题好像会被解决掉