rem 移动端响应式

一、 在vue-cli中:

1. 在index.html中:
<script>
    //监听自动刷新旋转屏幕改变
    window.addEventListener('onorientationchange', setRem);
    //监听自动刷新大小
    window.addEventListener('resize', setRem);
    setRem()    //  调用
    function setRem() {
      //获取HTML元素
      let html = document.querySelector('html')
      //获取可视区宽
      let width = html.getBoundingClientRect().width;
      //设置比例 1rem = width / 16
      html.style.fontSize = width / 16 + 'px'
</script>
  1. 在common.scss中:
@function rem($px){
  @return $px / 46.875 + rem
}
  1. 将common.scss引入app.vue中文件中
<style lang="scss">
@import './components/css/common.scss';
</style>
  1. 在scss中:
div{
  font-size:rem(16);
}

二、不在vue中的用法:

  1. 新建rem.js文件
<script>
    //监听自动刷新旋转屏幕改变
    window.addEventListener('onorientationchange', setRem);
    //监听自动刷新大小
    window.addEventListener('resize', setRem);
    setRem()    //  调用
    function setRem() {
      //获取HTML元素
      let html = document.querySelector('html')
      //获取可视区宽
      let width = html.getBoundingClientRect().width;
      //设置比例 1rem = width / 16
      html.style.fontSize = width / 16 + 'px'
</script>
  1. 将rem.js引到每个html中
<script src="../js/rem.js"></script>
  1. 在common.css中:
@function rem($px){
  @return $px / 46.875 + rem
}
  1. 将common.css引入每个html中
 <link rel="stylesheet" href="../css/common.css">

(建议参考:https://www.jianshu.com/p/57fff7e5bd13

  1. 在css(scss)中:
div{
  font-size:rem(16);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容