Webpack打包之后[-webkit-box-orient: vertical]样式丢失

Posted qilj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Webpack打包之后[-webkit-box-orient: vertical]样式丢失相关的知识,希望对你有一定的参考价值。

背景:项目是用的vue全家桶套餐

今天在工作中遇到一个问题,需求是要求文字只能显示3行,超过3行则隐藏且显示 ‘...‘, 于是我加了如下样式在标签里面:

display: -webkit-box;
-webkit-line-clamp: 3;
line-height: 20px;
max-height: 60px;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-orient: vertical;

加好之后,测试ok没问题,感觉很完美,现在要提交代码了,为了代码规范,那么多样式写在行间里面感觉是不太好,于是想着把它抽出来写在<style>标签里面吧,在一切就绪准备push的时候,因为热更新 页面刷新了,???what, 为啥没有‘...‘了呢,第三行显示完了就没有了(一脸懵逼),去调试面板看了下,-webkit-box-orient: vertical; 这个样式不见了, 这是什么情况。。。

去google上找了一圈,果然不是我一个人遇到这个问题,是因为这个属性被 optimize-css-assets-webpack-plugin插件在编译时删除掉了,T_T

解决办法如下:

方法一:加上注释命令,让autoprefixer编译的时候关闭对这行代码的转换。

/*! autoprefixer: off */
    -webkit-box-orient: vertical;
/*! autoprefixer: off */

方法二:从问题的源头出发,修改webpack.prod.conf.js文件。

注释掉下面代码:

new OptimizeCSSPlugin(
  cssProcessorOptions: config.build.productionSourceMap
    ?  safe: true, map:  inline: false  
    :  safe: true 
)

这段代码本来实现了css的压缩,现在注释后就没有压缩了,所以还需要在配置文件中添加 minimize:true 

const cssLoader = 
   loader: ‘css-loader‘,
   options: 
     sourceMap: options.sourceMap,
     minimize:true
   

 

 

参考文档 https://blog.csdn.net/chjj0904/article/details/83792583

以上是关于Webpack打包之后[-webkit-box-orient: vertical]样式丢失的主要内容,如果未能解决你的问题,请参考以下文章

实现webpack的实时打包构建

webpack+vue打包之后输出配置文件修改接口文件

如何解决使用webpack打包之后,font-awsome路径不对的问题,终极解决方法

webpack打包公共库

vue webpack打包之后 重新修改配置文件接口API路径,无需修改代码后再打包

webpack打包Js文件