多种方法解决rem字体适配

  1. rem单位

                      ·rem(root em)相对单位 类似于em,em相对于是父元素的字体大小

                      ·rem的基准是相对于html的字体大小(root根,document的根元素是html)

                      ·rem的优点:通过修改html的文字大小来改变页面整体元素的大小,达到适配效果

实现方法一:媒体查询

                     ·计算方法

                                html字体计算方法:html{font-size:(屏幕的尺寸/划分的份数);}

                                                   eg:html{font-size:(750px/15);}//15是将屏幕划分为15等份

                               页面元素rem计算方法:页面的元素的px值/font-size;

                                                     eg:.box{width:(100/50rem);}//将100px装换成rem为2rem

                                                    注释:以上计算公式均在lees预处理器中完成不可直接在css文件中计算,可借助计算器完成计算,或用插件完成px转换rem。

                                 媒体查询的缺点:css样式繁琐,不可适配所有的屏幕。

                                                           

实现方法二:JavaScript实现rem适配

    思想与媒体查询一致通过改变html字体大小的方法实现。

function setFontSize(){
    let screenWidth=document.documentElement.clientWidth;//获取设备(屏幕)的宽度
    let fontSizeA=((screenWidth/750)*50>50?50:(screenWidth/750)*50);
    /*
        #750是稿件的宽度
	    #第一个50是当前在稿件中1rem对应的px (此处1rem=50px)
	    #第二个50是限制最大的字体,屏幕尺寸超过750时将字体固定为50px
	    #750和50非固定值,可改变

    */
    document.querySelector("html").style.fontSize=fontSizeA+"px";
}


//在页面加载的时候调用函数setFontSize
window.onload=function(){setFontSize();}
//监听屏幕尺寸,屏幕尺寸发生改变调用函数setFontSize
window.addEventListener("resize",setFontSize);

此时页面元素的rem值:页面元素的px值/50;

                   

你可能感兴趣的:(web前端,javascript,css,html,前端)