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中实现Svelte的Defer Transition

    如何在Vue中实现Svelte的Defer Transition

    这篇文章主要介绍了如何在Vue中实现Svelte的Defer Transition,帮助大家更好的理解和学习使用vue,感兴趣的朋友可以了解下
    2021-04-04
  • Vue多系统切换实现方案

    Vue多系统切换实现方案

    本篇文章给大家分享了关于Vue多系统切换实现的解决方案,对此有需要的朋友可以跟着参考学习下。
    2018-06-06
  • Vue图片裁剪组件实例代码

    Vue图片裁剪组件实例代码

    这篇文章主要给大家介绍了关于Vue图片裁剪组件的相关资料,本文介绍的组件是基于vue-cropper二次封装,vue-cropper大家应该都很熟悉了吧,需要的朋友可以参考下
    2021-07-07
  • Vue项目中使用fontawesome图标库的方法

    Vue项目中使用fontawesome图标库的方法

    fontawesome的图标有免费版和专业版,本文主要使用free版本,一般free版本的图标够用,free图标又划分为三个图标库,主要有实心图标solid、常规图标regular及品牌图标brand,根据需求去下载对应的图标库,无须全部下载,对vue fontawesome图标库相关知识感兴趣的朋友一起看看吧
    2023-12-12
  • 在vue中嵌入外部网站的实现

    在vue中嵌入外部网站的实现

    这篇文章主要介绍了在vue中嵌入外部网站的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Vue脚手架编写试卷页面功能

    Vue脚手架编写试卷页面功能

    脚手架是一种用于快速开发Vue项目的系统架构,这篇文章主要介绍了Vue脚手架实现试卷页面功能,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • vue滚动轴插件better-scroll使用详解

    vue滚动轴插件better-scroll使用详解

    这篇文章主要为大家详细介绍了vue滚动轴插件better-scroll的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • vue具名插槽的基本使用实例

    vue具名插槽的基本使用实例

    Vue 中的插槽在开发组件的过程中其实是非常重要并且好用的。下面这篇文章主要给大家介绍了关于vue具名插槽基本使用的相关资料,需要的朋友可以参考下
    2021-05-05
  • v-if 导致 elementui 表单校验失效问题解决方案

    v-if 导致 elementui 表单校验失效问题解决方案

    在使用 elementui 表单的过程中,某些表单项需要通过 v-if 来判断是否展示,但是这些表单项出现了检验失效的问题,今天小编给大家介绍v-if 导致 elementui 表单校验失效问题解决方案,感兴趣的朋友一起看看吧
    2024-01-01
  • vue3.0如何在全局挂载对象和方法

    vue3.0如何在全局挂载对象和方法

    这篇文章主要介绍了vue3.0如何在全局挂载对象和方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04

最新评论