欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

移动端自适应

程序员文章站 2022-06-27 14:06:19
1、js动态设置html的字体大小 设计稿宽度750px,设备宽度350px,此时HTML 的font-size:50px,及1rem=50px; 假设一元素在设计稿上宽度为750px,750/100=7.5rem(7.5*50=375px)。 计算方法:设计稿的尺寸 / 100 = XXX rem ......

1、js动态设置html的字体大小

var clientwidth = 0;
if(document.documentelement.clientwidth >= 600){
    clientwidth = 600;
}else{
    clientwidth = document.documentelement.clientwidth;
}
document.documentelement.style.fontsize = 50 * clientwidth/375 + 'px';

window.onresize = function(){
    if(document.documentelement.clientwidth >= 600){
        clientwidth = 600;
    }else{
        clientwidth = document.documentelement.clientwidth;
    }
    document.documentelement.style.fontsize = 50 * clientwidth/375 + 'px';
}

设计稿宽度750px,设备宽度350px,此时html 的font-size:50px,及1rem=50px; 假设一元素在设计稿上宽度为750px,750/100=7.5rem(7.5*50=375px)。

计算方法:设计稿的尺寸 / 100  =  xxx rem;

2、设置html的font-size: 13.33vw

首先要先说明:移动端的设计稿一般是width:750px,height:auto(这里指的是不确定),100vw = 100%,这个也没有问题吧;那么,设计稿拿过来,我们可以得出:750px = 100vw,这个也没有问题吧,那么1px等于多少vw呢? 是不是 1px = 100 / 750 vw = 0.3333vw;那么100px = 多少vw呢,这个应该知道了吧。100px = 13.33vw;

思路过程:

mobile.width = 750px  => 750px = 100% =100vw => 750px = 100vw => 1px = 0.1333vw => 100px = 13.33vw => 1rem =100px;

即:我们把html:{font-size: 13.33vw} // 也就是以100px位基准;1rem = 100px;

计算方法:设计稿的尺寸 / 100 /2  =  xxx rem;

3、设置html的font-size并缩放页面

var html = document.getelementsbytagname('html')[0];

    var width = html.getboundingclientrect().width;

    html.style.fontsize = width / 16 + 'px';

    var pixelraio = 1 / window.devicepixelratio;

    document.write('<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=' + pixelraio + ',minimum-scale=' + pixelraio + ',maximum-scale=' + pixelraio + '"/>')

 计算方法:设计稿的尺寸 / 46.875  =  xxx rem;