使用framework7 vue 配置vw问题:
framework7 vue有不同的模板。
其中一种是有.postcssrc.js文件。类似vue自动生成的,那么直接
"plugins": {
"postcss-import": {},
"postcss-url": {},
"postcss-aspect-ratio-mini": {},
"postcss-write-svg": {
utf8: false
},
"postcss-cssnext": {},
"postcss-px-to-viewport": {
viewportWidth: 750, // (Number) The width of the viewport.
viewportHeight: 1334, // (Number) The height of the viewport.
unitPrecision: 3, // (Number) The decimal numbers to allow the REM units to grow to.
viewportUnit: 'vw', // (String) Expected units.
selectorBlackList: ['.ignore', '.hairlines', '.page-shadow-effect'], // (Array) The selectors to ignore and leave as px.
minPixelValue: 1, // (Number) Set the minimum pixel value to replace.
mediaQuery: false, // (Boolean) Allow px to be converted in media queries.
// exclude: /(\/|\\)(node_modules)(\/|\\)/
},
"postcss-viewport-units": {
filterRule: rule => rule.selector.indexOf('::after') === -1 && rule.selector.indexOf('::before') === -1 && rule.selector.indexOf(':after') === -1 && rule.selector.indexOf(':before') === -1
},
"cssnano": {
// preset: "default",
preset: "advanced",
autoprefixer: false,
"postcss-zindex": false
}
}
另外一种是没有.postcssrc.js,那么在webpack.dev.js添加以下,手动引入“postcss-px-to-viewport”:
options: {
plugins: (loader) => [
require('postcss-px-to-viewport')({
+ // viewportWidth: 750, //根据视觉稿的宽度进行设置
+ // viewportHeight: 1334,
viewportWidth: 750, //根据视觉稿的宽度进行设置
viewportHeight: 1334,
unitPrecision: 5,
viewportUnit: 'vw',
- selectorBlackList: [], //忽略转换的css选择器
+ selectorBlackList: ['.ignoreDiv', '.ignoreRem'], //忽略转换的css选择器
minPixelValue: 1,
mediaQuery: false
}),