wswmsword / postcss-mobile-forever

一款 PostCSS 插件,将固定尺寸的视图转为可跟随宽度变化而等比例伸缩的视图。To adapt different displays by one mobile viewport.
https://wswmsword.github.io/examples/mobile-forever/vanilla/
MIT License
325 stars 19 forks source link

unocss 的 @apply 指令写样式没有把 px 转换为 vw,正常写法是可以转换的 #19

Closed qiangguoguo closed 11 months ago

qiangguoguo commented 11 months ago

vite-project.zip 老哥麻烦看一下

wswmsword commented 11 months ago

需要您安装下 UnoCSS 的 PostCSS 插件:

npm add -D @unocss/postcss

PostCSS 配置文件中添加 UnoCSS 插件:

import mobile from 'postcss-mobile-forever'
import autoprefixer from 'autoprefixer'
+ import unocssPs from '@unocss/postcss';

export default () => {
  return {
    plugins: [
+       unocssPs(),
      autoprefixer(),
      mobile({
        // 页面最外层选择器,例如 “#app”,用于设置在桌面端和移动端横屏时的居中样式
        appSelector: '#app',
        // 应用基于该宽度进行开发,转换后的伸缩视图将会以该宽度的视图作为标准进行比例伸缩
        viewportWidth: (file) => file.includes("vant") ? 375 : 750,
        // 限制视口单位的最大宽度, 利用 min() 之类的 CSS 函数
        // maxDisplayWidth: 600,
        // 打开媒体查询模式,打开后将自动关闭 maxDisplayWidth
        enableMediaQuery: true,
      }),
    ],
  }
}
wswmsword commented 11 months ago

需要您安装下 UnoCSS 的 PostCSS 插件:

npm add -D @unocss/postcss

PostCSS 配置文件中添加 UnoCSS 插件:

import mobile from 'postcss-mobile-forever'
import autoprefixer from 'autoprefixer'
+ import unocssPs from '@unocss/postcss';

export default () => {
  return {
    plugins: [
+       unocssPs(),
      autoprefixer(),
      mobile({
        // 页面最外层选择器,例如 “#app”,用于设置在桌面端和移动端横屏时的居中样式
        appSelector: '#app',
        // 应用基于该宽度进行开发,转换后的伸缩视图将会以该宽度的视图作为标准进行比例伸缩
        viewportWidth: (file) => file.includes("vant") ? 375 : 750,
        // 限制视口单位的最大宽度, 利用 min() 之类的 CSS 函数
        // maxDisplayWidth: 600,
        // 打开媒体查询模式,打开后将自动关闭 maxDisplayWidth
        enableMediaQuery: true,
      }),
    ],
  }
}

UnoCSS 的 PostCSS 插件链接:https://unocss.dev/integrations/postcss

qiangguoguo commented 11 months ago

可以了,非常感谢