使用postcss-viewport-units做vw单位转换时遇到以下两个问题:
1、伪类选择器被转换,导致icon的加载不出来
解决办法:设置转换规则
module.exports = {
"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 A.
viewportHeight: 1334, // (Number) The height of the viewport A.
unitPrecision: 1, // (Number) The decimal numbers to allow the REM units to grow to.
viewportUnit: 'vw', // (String) Expected units.
selectorBlackList: ['.ignore', '.hairlines','.img-screen'], // (Array) The selectors to ignore and leave as px.
minPixelValue: 2, // (Number) Set the minimum pixel value to replace.
mediaQuery: false // (Boolean) Allow px to be converted in media queries.
},
"postcss-viewport-units":{
"silence":true,
filterRule: rule =>rule.selector.indexOf('::after') === -1 && rule.selector.indexOf('::before') === -1 && rule.selector.indexOf(':after') === -1 && rule.selector.indexOf(':before') === -1
},
"cssnano": {
preset: "advanced",
autoprefixer: false,
"postcss-zindex": false
}
}
}
2、IOS上图片显示不出来
IOS及Safari浏览器上,由于img标签被添加了context的属性导致图片加载不出来,Chrome及安卓设备上可以。
解决办法:全局设置img变迁的context属性值
img{
content: normal !important;
}