广告位联系
返回顶部
分享到

H5使用Vant自适应布局(postcss-pxtorem)介绍

html5 来源:互联网 作者:佚名 发布时间:2023-09-20 23:35:48 人浏览
摘要

1、安装 postcss-pxtorem 1 npm install postcss postcss-pxtorem --save-dev 2、在根目录新建postcss.config.js,配置 postcss-pxtorem 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 module.exports = { plugins: { // autoprefixer: {},

1、安装 postcss-pxtorem

1

npm install postcss postcss-pxtorem --save-dev

2、在根目录新建postcss.config.js,配置 postcss-pxtorem

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

module.exports = {

    plugins: {

        // autoprefixer: {},

        'postcss-pxtorem': {

            // rootValue: 75, // 设计稿宽度的1/10

            rootValue({ file }) {

                // 判断是否是vant的文件 如果是就使用 37.5为根节点字体大小

                // 否则使用75 因为vant使用的设计标准为375 但是市场现在的主流设置尺寸是750

                return file.indexOf('vant') !== -1 ? 37.5 : 75;

            },

            unitPrecision: 5, // 保留rem小数点多少位

            propList: ['*'], // 需要做转化处理的属性,如`hight`、`width`、`letter-spacing`等,`*`表示全部

            // propBlackList: ['font-size'], //过滤掉不需要转换的属性

            minPixelValue: 0, //px小于12的不会被转换,默认 0

            selectorBlackList: [] // 忽略转换rem转换,正则匹配项(选择器),如:过滤点含有"el-"或以".ant"开头的选择器

            // exclude: /(node_module)/ //默认false,可以(reg)利用正则表达式排除某些文件夹的方法,例如/(node_module)/ 。如果想把前端UI框架内的px也转换成rem,请把此属性设为默认值

        }

    }

};

注意:rootValue ,判断是否是vant的文件,如果是就使用 37.5为根节点字体大小;否则使用75,因为vant使用的设计标准为375,但是市场现在的主流设置尺寸是750

3、utils文件夹下,新建一个rem.js

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

function setRem() {

    // 配置宽度为750px时,1rem的值为:75px;

    const screenWidth = 750;

    const scale = screenWidth / 75;

    const htmlWidth = document.documentElement.clientWidth || document.body.clientWidth;

    // 得到html的Dom元素

    const htmlDom = document.getElementsByTagName('html')[0];

    // 设置根元素字体大小

    htmlDom.style.fontSize = htmlWidth / scale + 'px';

}

// 初始化

setRem();

// 改变窗口大小时重新设置 rem

window.onresize = function () {

    setRem();

};

4、main.js引入rem.js文件

1

import '@/utils/rem.js'

5、但是postcss-px2rem插件并没有处理内联样式的功能,于是我们便需要对之自行处理。

1) 在src/utils/index.js下

1

2

3

4

5

6

7

8

export const px2rem = (px) => {

    if (/%/gi.test(px)) {

        // 有百分号%,特殊处理,表述pc是一个有百分号的数,比如:90%

        return px;

    } else {

        return parseFloat(px) / 75 + 'rem'; // 这里的75,和postcss.config.js里的rootValue值对应

    }

};

2)然后在main.js

1

2

import { px2rem } from '@/utils';

Vue.prototype.$px2rem = px2rem;

3) 使用

1

<div :style="{ 'font-size': $px2rem('16px') }">测试</div>


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 使用H5实现短信验证码一键登录功能

    使用H5实现短信验证码一键登录功能
    一、技术栈 uniapp+vue3+javascript 二、实现的效果 全部代码可见:https://github.com/zzm319/study-summarize.git(分支为code-login)。 1、进入页面第一个输
  • H5使用Vant自适应布局(postcss-pxtorem)介绍
    1、安装 postcss-pxtorem 1 npm install postcss postcss-pxtorem --save-dev 2、在根目录新建postcss.config.js,配置 postcss-pxtorem 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1
  • html中ul和li标签的用法介绍

    html中ul和li标签的用法介绍
    普通的显示数据的时候,ul就是项目列表,li就是列表项。可以用来显示数据。如果用于DIV+CSS布局的话,ul+li可以替换表格的作用,具体的
  • HTML5 Web Worker(多线程处理)介绍

    HTML5 Web Worker(多线程处理)介绍
    概述 JavaScript的执行环境是单线程的,也就是一次只能执行一个任务。如果遇到多个任务时,只能排队依次执行。 在HTML5中,可以使用Web W
  • html5播放器实现倍速播放的方法介绍
    定义和用法 playbackRate 属性设置或返回音频的当前播放速度。 playbackspeed 指示音频的当前播放速度。 例值: 1.0 正常速度 0.5 半速(更慢)
  • 短视频滑动播放在H5下的实现方式

    短视频滑动播放在H5下的实现方式
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 短视频已经无数不在了,但是主体还是使用 app 来承载的。本文讲述
  • HTML5页面打开微信小程序功能实现

    HTML5页面打开微信小程序功能实现
    微信终于支持由页面跳转至小程序啦 ~ 步骤一:绑定域名 登录微信公众平台进入公众号设置的功能设置里填写JS接口安全域名。 步骤二:引
  • html5+实现plus.io进行拍照和图片等获取
    使用Hbuilder开发工具开发:实现可对Android机进行控制和获取资源 说明:IO模块管理本地文件系统,用于对文件系统的目录浏览、文件的读取
  • HTML标签实现带动画的抖音LOGO效果

    HTML标签实现带动画的抖音LOGO效果
    先上结果,最终实现效果如下: 还原度应该还可以吧? 抖音Logo结构 想要用CSS来画抖音的Logo,前提要先了解它的构造,一定是一些几何图形
  • video.js支持m3u8格式直播的实现教程

    video.js支持m3u8格式直播的实现教程
    为什么要使用video.js? 1. PC端浏览器并不支持video直接播放m3u8格式的视频 2. 手机端各式各样的浏览器定制的video界面风格不统一,直接写原生
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计