如何处理pc端的字体大小的适配问题(完美解决)

5 篇文章 0 订阅
4 篇文章 0 订阅
export const resetPc = () => {
    var wH = window.innerHeight; // 当前窗口的高度
    var wW = window.innerWidth; // 当前窗口的宽度
    var whdef = 100 / 1920; // 表示1920的设计图,使用100PX的默认值
    if (wW > 1400) {
        var rem = wW * whdef; // 以默认比例值乘以当前窗口宽度,得到该宽度下的相应FONT-SIZE值
        var html = document.documentElement;
        html.style.fontSize = rem + "px"; //适用于PC网站
    } else {
        var rem = 1400 * whdef;
        var html = document.documentElement;
        html.style.fontSize = rem + "px";
    }
}
  1. 将上面的代码在项目启动的时候进行初始加载;
  2. 这里主要设置的是html的根字体大小,需要进行body的字体大小的初始化,我一般设置font-size:14px,否则会导致页面的部分字体变大;
  3. 这里的是页面的初次加载的时候进行引入初始,但不推荐window.addEventListener("resize", function() {})进行页面的动态监听,因为页面的窗口不像手机,可以随意的调整浏览器窗口的大小,这样会导致页面的不断重绘和重排,影响性能,所以我在上述代码中以1400宽度进行分界线,相应的body会有个对应的最小宽度,我设置的是1000px;
    4.对应的代码加上去后,根字体的大小相对于1920的大小是100px;所以后面的px也要相应的用rem代替,我是通过对应的sass进行换算如下:
@function pcPx2rem($px) {
    $rem: 100px;
    @return ($px/$rem)+rem;
}

5.对应的手机端的适配和手机端类似,有webpack的可以直接用对应的插件进行转换这里就不过多的进行叙述。

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Nuxt框架中进行PC端字体大小适配的方法有多种。以下是其中一种常用的方法: 1. 使用CSS的`rem`单位:`rem`单位是相对于元素(html)的字体大小而言的。可以通过设置元素的字体大小,从而实现整个页面的字体大小适配。具体步骤如下: a. 在组件(通常是`layouts/default.vue`)中,添加一个`mounted`钩子函数。 b. 在钩子函数中,使用`window`对象的`addEventListener`方法监听`resize`事件。 c. 在事件回调函数中,获取页面的宽度,并据设计稿的尺寸计算出相应的元素字体大小。 d. 使用`document.documentElement.style.fontSize`来设置元素的字体大小。 e. 将设计稿的尺寸与实际页面的字体大小进行比例计算,从而实现字体大小适配。 例如,假设设计稿的宽度为1920px,设计稿中某个元素的字体大小为16px,实际页面的宽度为960px,那么我们可以将元素的字体大小设置为8px(960 / 1920 * 16),从而实现字体大小适配。 引用 2. 使用CSS的`@media`查询:通过使用`@media`查询,可以据不同的屏幕尺寸设置不同的字体大小。具体步骤如下: a. 在CSS文件中,使用`@media`查询据不同的屏幕尺寸设置不同的字体大小。 例如,假设设计稿中某个元素的字体大小为16px,在页面宽度小于等于768px时,将字体大小设置为12px;在页面宽度大于768px时,将字体大小设置为16px。 ```css /* 在小于等于768px的屏幕尺寸下,设置字体大小为12px */ @media (max-width: 768px) { .element { font-size: 12px; } } /* 在大于768px的屏幕尺寸下,设置字体大小为16px */ @media (min-width: 769px) { .element { font-size: 16px; } } ``` 引用 这是在Nuxt框架中进行PC端字体大小适配的两种常用方法之一。你可以据你的需要选择适合的方法来实现字体大小适配

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值