vue自适应字体大小

1.首先我在untils里面新建一个fontsize.js文件夹

内容如下

//当前视口宽度
let nowClientWidth = document.documentElement.clientWidth;

// 换算方法

function nowSize(val, initWidth = 1920) {
  return val * (nowClientWidth / initWidth);
}

export default nowSize;

然后在main.js中全局注册

import nowsize from "./utils/fontSize";
Vue.prototype.$nowsize = nowsize;

创建一个用于根据当前视口宽度进行字体大小换算的方法。这个方法接受的两个参数:val(待转换的值)和initWidth(初始宽度,默认为1920)。

代码中 document.documentElement.clientWidth 表示 在当前视口 的宽度(以像素为单位),而 nowClientWidth 变量则保存了这个值。

nowSize 方法使用了简单的 比例换算 公式,通过将当前视口宽度与初始宽 度进行比较,来确定一个转换系数。然后,这个转换系数会被 用于将给定的值 val 按比例缩放。

例如,如果你想将 字体大小从 初始宽度下的 16 像素转换为当前视口宽 度下的字体大小,可以 调用 nowSize(16)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue2中实现字体大小自适应可以通过以下步骤进行: 1. 使用CSS的`@media`查询来根据设备屏幕大小设置不同的字体大小。 2. 在Vue组件的样式中定义多个不同屏幕大小的字体大小。 3. 使用Vue的计算属性或者监听窗口大小变化来动态地应用适当的字体大小。 以下是一个简单的示例代码: ```vue <template> <div class="container"> <h1 :style="{ fontSize: computedFontSize }">自适应字体大小</h1> </div> </template> <script> export default { computed: { computedFontSize() { if (window.innerWidth <= 480) { return '16px'; } else if (window.innerWidth <= 768) { return '24px'; } else { return '32px'; } } }, mounted() { window.addEventListener('resize', this.handleResize); }, beforeDestroy() { window.removeEventListener('resize', this.handleResize); }, methods: { handleResize() { // 更新字体大小 this.$forceUpdate(); } } }; </script> <style> .container { text-align: center; } h1 { font-size: 32px; /* 默认字体大小 */ } @media (max-width: 480px) { h1 { font-size: 16px; } } @media (min-width: 481px) and (max-width: 768px) { h1 { font-size: 24px; } } </style> ``` 在这个示例中,我们使用了`@media`查询来定义不同屏幕大小下的字体大小,然后通过计算属性`computedFontSize`根据当前窗口大小动态地应用适当的字体大小。在窗口大小变化时,我们监听了`resize`事件并调用`handleResize`方法来更新字体大小。 这样,当用户在不同设备上访问应用时,字体大小会自动根据屏幕大小进行适应。你可以根据实际需求调整媒体查询和字体大小的设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值