Vue3 全局切换字体大小的实现

 更新时间:2024年03月05日 08:32:45   作者:小秀_heo  
本文主要介绍了Vue3 全局切换字体大小的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

先安装VueUse

<template>
  <header>
    <div class="left">left</div>
    <div class="center">center</div>
    <div class="right">right</div>
  </header>
  <div>
    <button @click="changeSize(36)">大(36)</button>
    <button @click="changeSize(24)">中(24)</button>
    <button @click="changeSize(12)">小(12)</button>
  </div>
</template>

<script setup lang="ts">
import { useCssVar } from '@vueuse/core'
const changeSize = (number:number) => {
  const size = useCssVar('--size')
  size.value = number + 'px'
}
</script>

<style scoped lang="less">
:root {
  --size: 12px;
}
header {
  display: flex;

  .left {
    width: 100px;
    height: 50px;
    font-size:  var(--size);
    background: lightblue;
  }

  .center {
    flex: 1;
    height: 50px;
    font-size:  var(--size);
    background: lightcoral;
  }

  .right {
    width: 100px;
    height: 50px;
    font-size:  var(--size);
    background: lightgoldenrodyellow;
  }
}
</style>

在这里插入图片描述

底层原理

const changeSize = (number:number) => {
  document.documentElement.style.setProperty('--size',number + 'px')
  // document.documentElement.style.getPropertyValue('--size')
  // const size = useCssVar('--size')
  // size.value = number + 'px'
}

常见问题

发现刷新后失效,此时我们可以保留修改到localStorage中。如果想要全局修改颜色,底层也是一样的道理。

到此这篇关于Vue3 全局切换字体大小的实现的文章就介绍到这了,更多相关Vue3 全局切换字体大小内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue element-ui动态横向统计表格的实现

    vue element-ui动态横向统计表格的实现

    这篇文章主要介绍了vue element-ui动态横向统计表格的实现方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Vue 组件事件触发和监听实现源码解析

    Vue 组件事件触发和监听实现源码解析

    这篇文章主要为大家介绍了Vue 组件事件触发和监听实现源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • vue3.2 Composition API项目依赖升级

    vue3.2 Composition API项目依赖升级

    这篇文章主要为大家介绍了vue3.2 Composition API项目依赖升级示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Vue指令工作原理实现方法

    Vue指令工作原理实现方法

    自定义指令是 vue 中使用频率仅次于组件,其包含 bind 、 inserted 、 update 、 componentUpdated 、 unbind 五个生命周期钩子,接下来通过本文给大家详细介绍Vue指令工作原理实现方法,需要的朋友参考下吧
    2021-06-06
  • Vue项目中引入ECharts的教程详解

    Vue项目中引入ECharts的教程详解

    ECharts是一个强大的画图插件,在vue项目中,我们常常可以引用Echarts来完成完成一些图表的绘制,本文就来和大家介绍一下如何在Vue项目中引入ECharts吧
    2023-03-03
  • 详解三种方式解决vue中v-html元素中标签样式

    详解三种方式解决vue中v-html元素中标签样式

    这篇文章主要介绍了三种方式解决vue中v-html元素中标签样式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • vue导入新工程 “node_modules依赖”问题

    vue导入新工程 “node_modules依赖”问题

    这篇文章主要介绍了vue导入新工程 “node_modules依赖”问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • 最全vue的vue-amap使用高德地图插件画多边形范围的示例代码

    最全vue的vue-amap使用高德地图插件画多边形范围的示例代码

    这篇文章主要介绍了最全vue的vue-amap使用高德地图插件画多边形范围,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • vue3中provide和inject的使用

    vue3中provide和inject的使用

    provide和inject在Vue 2中已经被广泛应用,不是新鲜API,3.0重新认识一下它们两个,本文重点给大家介绍vue3中provide和inject的使用,需要的朋友参考下吧
    2021-07-07
  • Vue组件通信之父传子与子传父深入探究

    Vue组件通信之父传子与子传父深入探究

    对于vue来说,组件之间的消息传递是非常重要的,用vue可以是要组件复用的,而组件实例的作用域是相互独立,这意味着不同组件之间的数据无法互相引用,一般来说,组件之间可以有几种关系,下面是我对组件之间消息传递的常用方式的总结
    2022-12-12

最新评论