通过媒体查询meta和JS转换REM单位实现100%自适应
移动端页面设置根节点(html)font-size大小转换REM单位实现100%自适应,通过媒体查询meta和JS两种方法实现第一种方法媒体查询meta-REM单位字体设置/*媒体查询-字体设置*//*平滑过渡*/html{-webkit-transition:font-size.2sease-out;transition:font-size.2sease-out;}/*设计稿宽度=640时,4rem=400px,1rem=100px,.5rem=50px,.1rem=10px以此类推*/@mediascreenand(max-width:1280px){html{font-size:200px;}}@mediascreenand(max-width:1200px){html{font-size:187.5px;}}@mediascreenand(max-width:1120px){html{font-size:175px;}}@mediascreenand(max-width:1080px){html{font-size:168.75px;}}@mediascreenand(max-width:960px){html{font-size:150px;}}@mediascreenand(max-width:880px){html{font-size:137.5px;}}@mediascreenand(max-width:840px){html{font-size:131.25px;}}@mediascreenand(max-width:800px){html{font-size:125px;}}@mediascreenand(max-width:720px){html{font-size:112.5px;}}@mediascreenand(max-width:640px){html{font-size:100px;}}@mediascreenand(max-width:600px){html{font-size:93.75px;}}@mediascreenand(max-width:560px){html{font-size:87.5px;}}@mediascreenand(max-width:480px){html{font-size:75px;}}@mediascreenand(max-width:400px){html{font-size:62.5px;-webkit-transition:none;}}@mediascreenand(max-width:360px){html{font-size:56.25px;}}@mediascreenand(max-width:320px){html{font-size:50px;}}
/* 设计稿宽度=640时, 4rem=400px, 1rem=100px, .5rem = 50px, .1rem = 10px 以此类推 */
@media screen and (max-width: 640px) {
html{ font-size: 100px; }
}
100px*0.01 = 1rem
示例:
img{width:40px, height:35px}
转换rem 40px*0.01 = 0.04rem, 35px*0.01 = 0.035rem
img{width:0.01rem, height:0.035rem}
@media screen and (max-width: 640px) {
html{ font-size: 40px; }
}
40px*0.025 = 1rem
示例:
img{width:40px, height:35px}
转换rem 40px*0.025 = 1rem, 35px*0.025 = 0.875rem
img{width:1rem, height:0.875rem}
@media screen and (max-width: 640px) {
html{ font-size: 20px; }
}
20px*0.05 = 1rem
示例:
img{width:40px, height:35px}
转换rem 40px*0.05 = 2rem, 35px*0.05 = 1.75rem
img{width:2rem, height:1.75rem}
第二种方法
JS根据设备宽度设置根节点(html)font-size字体大小
(function () {
document.addEventListener('DOMContentLoaded', function () {
var deviceWidth = document.documentElement.clientWidth;
document.documentElement.style.fontSize = deviceWidth / 6.4 + 'px';
}, false);
window.onresize = function(){
var deviceWidth = document.documentElement.clientWidth;
document.documentElement.style.fontSize = deviceWidth / 6.4 + 'px';
};
})();
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。