前言
-webkit-box-orient: vertical在本地开发环境运行都没问题,一旦打包以后就会丢失
正文
原因:
-webkit-box-orient: vertical 这个属性被 optimize-css-assets-webpack-plugin插件在编译时删除掉了
方法1. 解决办法(亲测无效,但是网上有说这种解决办法能处理):
将webpack.prod.conf.js文件中关于optimize-css-assets-webpack-plugin的配置项由
new OptimizeCSSPlugin({
cssProcessorOptions: config.build.cssSourceMap
? { safe: true, map: { inline: false } }
: { safe: true }
}),
改为
new OptimizeCSSPlugin({
cssProcessorOptions: config.build.cssSourceMap
? { safe: true, map: { inline: false } }
: { safe: true,
autoprefixer: {
remove: false
}
}
}),
这样再打包就不会被删除了
方法2. 解决办法(亲测有效)
在package.json文件中进行如下修改:
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8",
"iOS >= 6",
"Android > 4.1",
"Firefox > 20"
]
这样postcss在处理的时候就会自动加上兼容对应浏览器版本的一些属性。
方法3. 解决办法
autoprefixer不仅会帮你加-webkit-之类的prefixer,
它还会帮你删除你自己写在 css/sass/less里的样式,
真是厉害了
关闭autoprefixer的自动删除功能,这样:
/* autoprefixer: off */
-webkit-box-orient: vertical;
/* autoprefixer: on */
用注释包裹的中间这一句就不会被删除
参考:
https://blog.****.net/Candy_home/article/details/79646655