-webkit-line-clamp 控制行数失效

2020-03-27  本文已影响0人  看庭前花开花落_望天上云卷云舒
在vue项目里 写了一个css样式 用来控制 显示的行数,只显示3行多出来的用引号代替,在本地运行的vue项目里没有问题,但是打包后放到测试环境 控制行数的样式就不生效了。查找资料网上说是因为 -webkit-box-orient: vertical;这个属性不是规范会被打包的postCSS这个插件去掉的。在网上找了几个方法,其中有一种亲测可以。
一、样式代码
.name{
                font-size:.3rem;
                line-height:.32rem;
                color:#373639;
                display:-webkit-box;
                text-overflow:ellipsis;
                -webkit-line-clamp:2;
                -webkit-box-orient:vertical;
                overflow: hidden;
    }
二、解决方案

1、方案一:原因可能是因为代码环境的关系-webkit-box-orient被过滤掉了 autoprefixer 这个关键字可以免除被过滤的动作。但是这个方法在我的项目里不生效,大家可以试下。

.name{
         font-size:.3rem;
       line-height:.32rem;
      color:#373639;
       display:-webkit-box;
      text-overflow:ellipsis;
      -webkit-line-clamp:2;
      /*! autoprefixer: off */
      -webkit-box-orient: vertical;
      /* autoprefixer: on */
      overflow: hidden;
    }

2、方案二: 用 /*! autoprefixer: ignore next */ 语句 。但是这个方法在我的项目里也不生效,大家可以试下。

.name{
         font-size:.3rem;
       line-height:.32rem;
      color:#373639;
       display:-webkit-box;
      text-overflow:ellipsis;
      -webkit-line-clamp:2;
      /*! autoprefixer: ignore next */
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

3、方案三:这个方法适合多个地方使用了 控制行数的情况,这个方法亲测有效。
1>、安装依赖这个依赖:npm i -S optimize-css-assets-webpack-plugin
2>、并且注释掉 build ---> webpack.prod.conf.js中的一段代码:

 new OptimizeCSSPlugin({
     cssProcessorOptions: config.build.productionSourceMap
       ? { safe: true, map: { inline: false } }
       : { safe: true }
 }) 
上一篇下一篇

猜你喜欢

热点阅读