Vue+scss实现全局字体大小切换

一、引入scss依赖

npm install node-sass sass-loader sass-resources-loader --save-dev

二、 项目样式引入

  • 创建mixin.scss
$font-size-14: 14px;
$font-size-16: 14px;
$font-size-20: 20px;
@mixin set-font-size($size,$important: false) {
  font-size: $size if($important, !important, null);

  [data-size="0"] & {
    font-size: $font-size-14;
  }

  [data-size="1"] & {
    font-size: $font-size-16;
  }
}
  • .vue切换按钮(切换放入入口文件中就行)
<template>
  <div id="menu">
    <el-button>普通字号</el-button>
    <el-button>大字号</el-button>

    <router-view class="routerView" />
  </div>
</template>

<script>
export default {
  name: 'App',
  data() {
    return {
      
    }
  },
  
  methods: {
    
    changeFontSize(val) {
      window.document.documentElement.setAttribute('data-size', val)
    },
    
  }
}
</script>

<style scoped lang="scss">
在使用的文件中引入scss文件
@import "~@/style/mixin.scss";
.box {
    // 默认使用14号字体
  @include add-size($font-size-14);
}
</style>

  • 如果想要全局引入mixin.scss,不想在每个vue文件中都引入,需要在vue.config.js中进行配置
'use strict'
const path = require('path')

function resolve (dir) {
   
  return path.join(__dirname, dir)
}

var webpack = require('webpack')

module.exports = {
   
  css: {
   
    sourceMap: false,
    extract: {
   
      ignoreOrder: true,
      filename: 'css/[name].[hash:8].css',
      chunkFilename: 'css/[name].[hash:8].css'
    },
    loaderOptions: {
   
      sass: {
   
        prependData: `@import "@/styles/common.scss";@import "@/styles/mixins.scss";`
      }
    }
  },
  pluginOptions: {
   
    'style-resources-loader': {
   
      preProcessor: 'stylus',
      patterns: []
    }
  }
    
  
}

具体配置请看 Vue项目切换主题颜色(mixin + scss

相关推荐

  1. Vue+scss实现全局字体大小切换

    2023-12-15 07:18:02       45 阅读
  2. el-from表单实现lable字体大小改变

    2023-12-15 07:18:02       31 阅读
  3. Qt中设置全局字体

    2023-12-15 07:18:02       35 阅读
  4. ECharts标题字体大小自适应变化

    2023-12-15 07:18:02       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-15 07:18:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-15 07:18:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-15 07:18:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-15 07:18:02       18 阅读

热门阅读

  1. STC8模板代码

    2023-12-15 07:18:02       27 阅读
  2. QT6.3下载及安装步骤详解

    2023-12-15 07:18:02       52 阅读
  3. Spark on Yarn 安装配置实验(3.1.1)

    2023-12-15 07:18:02       35 阅读
  4. [Android] Binder all-in-all

    2023-12-15 07:18:02       41 阅读
  5. Android RecycleView实现平滑滚动置顶和调整滚动速度

    2023-12-15 07:18:02       37 阅读
  6. android 9 Systemui 动态隐藏导航栏

    2023-12-15 07:18:02       33 阅读
  7. 前端已死?未来的出路?

    2023-12-15 07:18:02       36 阅读