返回上一页 网站建设中网站技术开发语义化标签的好处 技术文献公司资讯 sass 进阶使用文档

当前位置:首页 > 观点资讯 > 技术文献 > 详细内容

移动端适配方案(rem)

时间:23-03-10 浏览:276次 + 打印

移动端适配方案(rem)

适配原理:通过 js 动态设置 htmlfont-size

移动端适配方案(rem)


1.设置 meta viewport 属性

1
"viewport"  content= "width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"  />


2.添加动态设置 html 的 font-size 的 js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
( function (designWidth, maxWidth) {
     var  doc = document,
     win = window,
     docEl = doc.documentElement,
     remStyle = document.createElement( "style" ),
     tid;
 
     function  refreshRem() {
         var  width = docEl.getBoundingClientRect().width;
         maxWidth = maxWidth || 750;
         width > maxWidth && (width = maxWidth);  //设置最大宽度
         width < 375 && (width = 375);  //设置最小宽度
         var  rem = width * 100 / designWidth;
         remStyle.innerHTML =  'html{font-size:'  + rem +  'px;}' ;
     }
 
     if  (docEl.firstElementChild) {
         docEl.firstElementChild.appendChild(remStyle);
     else  {
         var  wrap = doc.createElement( "div" );
         wrap.appendChild(remStyle);
         doc.write(wrap.innerHTML);
         wrap =  null ;
     }
     //要等 wiewport 设置好后才能执行 refreshRem,不然 refreshRem 会执行2次;
     refreshRem();
 
     win.addEventListener( "resize" function () {
         clearTimeout(tid);  //防止执行两次
         tid = setTimeout(refreshRem, 300);
     },  false );
 
     win.addEventListener( "pageshow" function (e) {
         if  (e.persisted) {  // 浏览器后退的时候重新计算
             clearTimeout(tid);
             tid = setTimeout(refreshRem, 300);
         }
     },  false );
 
     if  (doc.readyState ===  "complete" ) {
         doc.body.style.fontSize =  "16px" ;
     else  {
         doc.addEventListener( "DOMContentLoaded" function (e) {
             doc.body.style.fontSize =  "16px" ;
         },  false );
     }
})(750, 750);




网站建设公司项目经理

扫二维码与项目经理沟通

我们在微信上24小时期待你的声音
解答:网站优化、网站建设、APP开发、小程序开发

如有侵权需要删除文章请联系我

小宇宙是一家以提供网站建设网站优化APP开发小程序开发、网络营销推广为主的互联网开发公司。以客户需求为导向,客户利益为出发点,结合自身设计及专业建站优势,为客户提供从基础建设到营销推广的一整套解决方案,探索并实现客户商业价值较大化,为所有谋求长远发展的企业贡献全部力量。

Learn more

关于我们 专业网站设计制作

Learn more

服务项目 南京网站建设
获取网站设计、app开发、VI设计报价 微信客服 返回顶部
网站制作
扫二维码与项目经理沟通
×

Let\'s get in touch!,login get more service.

我们将艺术与技术相结合,用创意和设计为客户创造商业价值,创造优秀的产品及服务体验!登陆之后可以获得更多的私人定制服务

sitemap.txt sitemap.xml sitemap.htm 网站设计制作