美文网首页
vue 中使用 rem 布局的两种方法

vue 中使用 rem 布局的两种方法

作者: mindy1031 | 来源:发表于2021-07-19 11:12 被阅读0次

方法一:在 index.html 或者 main.js 中添加以下代码:

const setFontSize= () => {
  const htmlDom = document.getElementsByTagName('html')[0];
  let htmlWidth = document.documentElement.clientWidth || document.body.clientWidth;
  if (htmlWidth >= 750) {
    htmlWidth = 750;
  }
  if (htmlWidth <= 320) {
    htmlWidth = 320;
  }
  htmlDom.style.fontSize = `${htmlWidth / 7.5}px`
};
window.onresize = setFontSize;
setFontSize()

方法二:使用 lib-flexible 和 px2rem-loader 自动转换
1、安装插件

npm install lib-flexible --save
npm install px2rem-loader --save-dev

2、配置插件
①在入口文件 main.js 中引入 lib-flexible

import 'lib-flexible/flexible'

②在 build/utils.js 文件中配置 px2rem-loader

exports.cssLoaders = function (options) {
  options = options || {}
  const px2remLoader = {
    loader: 'px2rem-loader',
    options: {
      remUnit: 75
    }
  }
  const cssLoader = {
    loader: 'css-loader',
    options: {
      sourceMap: options.sourceMap
    }
  }
  const postcssLoader = {
    loader: 'postcss-loader',
    options: {
      sourceMap: options.sourceMap
    }
  }
  function generateLoaders (loader, loaderOptions) {
    const loaders = options.usePostCSS ? [cssLoader, postcssLoader,px2remLoader] : [cssLoader,px2remLoader]
    if (loader) {
      loaders.push({
        loader: loader + '-loader',
        options: Object.assign({}, loaderOptions, {
          sourceMap: options.sourceMap
        })
      })
    }
    if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        fallback: 'vue-style-loader'
      })
    } else {
      return ['vue-style-loader'].concat(loaders)
    }
  }
  return {
    css: generateLoaders(),
    postcss: generateLoaders(),
    less: generateLoaders('less'),
    sass: generateLoaders('sass', { indentedSyntax: true }),
    scss: generateLoaders('sass'),
    stylus: generateLoaders('stylus'),
    styl: generateLoaders('stylus')
  }
}

安装并配置好 lib-flexible 和 px2rem 之后要重启一下项目,才能自动把 px 转换成 rem。

相关文章

  • vue 中使用 rem 布局的两种方法

    方法一:在 index.html 或者 main.js 中添加以下代码: 方法二:使用 lib-flexible ...

  • 使用vue cli4中在less中px自动转换为rem

    当我们使用vue开发移动端时,想用rem来做自适应,我们有想使用rem也是有两种方法第一种方法:新建一个confi...

  • vue px2rem

    vue ,使用rem单位,可在不同屏幕上完美显示相同的布局。px2rem 插件方便的将px单位转为了rem。 px...

  • Vue移动端适配方案.md

    移动端主要采用rem布局,vue+webpack,通过webpack编译,将css中px自动转成rem或其它单位,...

  • vm与vh的妙用

    温故知新 目前主流的自适应终端屏幕的方法主要分为rem布局和响应式布局等。下面简单介绍一下这两种布局:1.rem布...

  • 基于vue-cli3在vue中实现rem布局:postcss-p

    在vue中实现rem布局:postcss-pxtorem+amfe-flexible实现移动端适配环境参数:vue...

  • vue 中使用rem布局

    在用vue或react等工具搭建一个移动端项目时,怎样做到自适应呢? 当然选择rem布局比较方便快捷.此处已vue...

  • vue 中使用rem布局

    要想移动端适配 并使用 rem 您需要先看这篇文章,配置好less ➡️在vue 中使用 less,就可以使用re...

  • 我的收藏

    结合flexible.js的rem布局方案 如何在Vue项目中使用vw实现移动端适配 React Native 项...

  • css-进阶-css开发技巧-Layout Skill:布局技巧

    Layout Skill 使用vw定制rem自适应布局 要点:移动端使用rem布局需要通过JS设置不同屏幕宽高比的...

网友评论

      本文标题:vue 中使用 rem 布局的两种方法

      本文链接:https://www.haomeiwen.com/subject/yrvcmltx.html