H5页面字体大小使用rem (重置字体大小)setFontSize.js

本文介绍了一种使用JavaScript动态调整HTML根元素字体大小的方法,确保不同设备屏幕宽度下网页元素的响应式布局效果一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/*by  min*/
//初始化rem
(function(){
    var getStyle = (function(){
        if(window.currentStyle){
            return function(obj, name){
                return obj.currentStyle[name];
            }
        }
        else{
            return function(obj, name){
                return getComputedStyle(obj, false)[name];
            }
        }
    })();

    var addEvent = (function(){
        if(document.attachEvent){
            return function(obj, ev, fn){
                obj.attachEvent('on'+ev, fn);
            };
        }
        else{
            return function(obj, ev, fn){
                obj.addEventListener(ev, fn, false);
            };
        }
    })();

    var oHtml = document.querySelector('html');
    var fontSize = getStyle(oHtml, 'fontSize').split('px')[0];
    var originalWidth = 750;

    setFontSize();

    addEvent(window, 'resize', function(){
        setFontSize();
    });

    function setFontSize() { 
        var size = size || 200;
        var _fontSize = (getSize()['width'] * fontSize / 750)>size?size:(getSize()['width'] * fontSize / 750);
        oHtml.style.fontSize = _fontSize + "px";
    }

    function getSize() {
        return {
            width :document.documentElement.clientWidth || document.body.clientWidth,
            height :document.documentElement.clientHeight || document.body.clientHeight
        }
    }
})();

  setFontSize.js

注意html字体大小要先设置成100px,并且JS在CSS重置为100px以后引入。

转载于:https://www.cnblogs.com/ourLifes/p/7886276.html

在Vite + Vue3 + Vant框架中,要调整H5项目的页面字体大小,你可以通过以下几个步骤来进行: 1. 首先,在Vue组件中,推荐使用CSS变量来管理全局的字体大小。这使得样式更具灵活性。可以在`main.js` 或 `src/assets/css/global.css` 这样的全局样式文件中设置初始字体大小: ```javascript // main.js import { createApp } from 'vue' import App from './App.vue' import { applyConfig } from '@vant/vant' import { defineConfig } from 'vite' export default defineConfig({ build: {}, css: { preprocessorOptions: { less: { modifyVars: { '@primary-color': '#333', // 可以将这个变量改为你想设定的默认字体颜色,同时设置字体单位为rem '@font-size-base': '16px', }, }, }, }, }) // src/assets/css/global.less 或 global.css @font-size-base: 16px; // 设置默认字体大小 ``` 2. 使用CSS变量`--FontSize`来响应式地控制字体大小,例如: ```css html, body { font-size: var(--FontSize, 16px); } /* 在需要的地方应用不同的字体大小 */ .button { font-size: calc(var(--FontSize) * 0.8); /* 示例,按钮的字体大小通常是基础字体大小的一半 */ } ``` 3. 在需要动态改变字体大小的地方,可以创建一个自定义方法,如`setFontSize(size)`,然后在JavaScript或Vue组件中调用它: ```javascript // 例子是在一个按钮点击事件中更改字体大小 <button @click="setFontSize('14px')">减小字号</button> methods: { setFontSize(fontSize) { document.documentElement.style.setProperty('--FontSize', fontSize); }, } ``` 这样,用户可以根据需求更改全局或局部的字体大小
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值