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,感兴趣的朋友可以了解下2021-04-04
v-if 导致 elementui 表单校验失效问题解决方案
在使用 elementui 表单的过程中,某些表单项需要通过 v-if 来判断是否展示,但是这些表单项出现了检验失效的问题,今天小编给大家介绍v-if 导致 elementui 表单校验失效问题解决方案,感兴趣的朋友一起看看吧2024-01-01


最新评论