移动端项目中,如何消除rem字体大小计算带来的CSS扭曲?

移动端项目中,如何消除rem字体大小计算带来的css扭曲?

移动端项目中消除rem字体大小计算带来的css扭曲

在移动端项目中,使用rem计算根节点字体大小可以实现自适应布局。但是,此方法可能会导致页面打开时出现css扭曲,这是因为页面内容在根节点字体大小赋值后重新渲染造成的。

解决方案:

要避免这种情况,将计算根节点字体大小的js脚本移动到页面的最前面,即head标签内。

原因:

当浏览器加载页面时,它会按照顺序执行页面中的代码。如果根节点字体大小计算的js脚本位于页面底部,当浏览器运行到该代码时,页面内容已经加载并显示了。随后,根节点字体大小赋值会触发页面重新渲染,从而导致css扭曲。

示例:

<head>
  <!-- 移动端自适应字体大小计算 -->
  <script>
    (function () {
      const rootFontSize = 16;
      document.documentElement.style.fontSize = rootFontSize + "px";
    })();
  </script>
</head>

将这段代码移动到head标签内后,浏览器将在加载页面其他内容之前执行它,从而避免根节点字体大小计算对已显示页面的影响。

参考:

  • [amfe/lib-flexible at master](https://github.com/amfe/lib-flexible/blob/master/src/index.js)

以上就是移动端项目中,如何消除rem字体大小计算带来的CSS扭曲?的详细内容,更多请关注其它相关文章!