zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    【转】使用TortoiseSVN搭建本地的版本控制库
    操作系统的大端小端
    从《王者荣耀》谈游戏的帧同步
    二叉搜索树的第K大节点
    Mysql千万级大表优化
    海量数据存储方案
    递归函数思维
    time_wait的快速回收和重用
    Nginx配置反向代理服务器
    MySQL-怎样使update操作sleep一段时间
  • 原文地址:https://www.cnblogs.com/qilj/p/10985952.html
Copyright © 2011-2022 走看看