vite插件实现移动端适配

因不同手机屏幕大小有差异,直接用px会使显示效果不同,所以需进行移动端适配。主流适配方案有rem适配和vw,本文介绍手写vite插件实现vw适配,还提及在html文件添加代码、使用postCss,以及在vite中配置和查看适配效果。

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

因为1px代表一个像素,每一个手机的屏幕大小不同,直接用px会导致小屏幕的手机和大屏幕的手机显示效果天差地别,所以需要进行移动端适配。目前主流的移动端适配方案有两种:rem适配和vw,本文实现手写vite插件实现vw的适配

在html文件中需要添加下列代码,使用viewport

<meta name="viewport" content="width=device-width, initial-scale=1.0">

文中使用了postCss,因为vite中已经内置了postCss因此无需下载

创建文件 postcss-px2viewport.ts,代码如下

import { Plugin } from 'postcss'

interface Options {
  viewportWidth?:number
}

const Options = {
  viewportWidth: 375, // UI设计稿的宽度,可以修改(375,750),默认给375
}

export const PostCsspxToViewport = (options: Options = Options):Plugin => {
  const opt = Object.assign({}, Options, options)
  return {
    postcssPlugin: 'postcss-px-to-viewport',
    Declaration(node) {
      // 有些px可能不需要转换  可以自定义名称
      if (node.value.includes('px')) {
        const num = parseFloat(node.value)  // 考虑到有小数
        node.value = `${((num / opt.viewportWidth) * 100).toFixed(2)}vw`
       }
    }
  }
}

在vite中使用:在vite.config.ts中配置如下

// 引入插件
import { PostCsspxToViewport } from './src/plugin/postscc-pxtoviewport'

export default defineConfig({
  // ....
  /// 添加css配置
  css: {
    postcss: {
      plugins: [
        PostCsspxToViewport()
      ]
    }
  }
})

查看效果: px都已经转化为了vw,随意修改屏幕大小显示效果都没有改变
在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值