gulp-sassのコンパイルがうまくいかないと思ったらautoprefixerが消してた話
TL; DR
この記事は、Gulpでsass(scss)をコンパイルしてる人がautoprefixerを噛ませていたら、ベンダプレフィクス消えてるかも。というお話。
環境
- Windows10
- WSL (Windowsの中にUbuntuが...!)
-
こちらに詳細(自分を売る)
- gulp v4
- autoprefixer
- gulp-sass
- browser-sync (関係ないけど一応
やったこと
状況の確認
- こちらに詳細(自分を売る)
- autoprefixer
- gulp-sass
- browser-sync (関係ないけど一応
状況の確認
今回やりたかったことは、記事のタイトル一覧などの動的ページでタイトルを並べる時、
長すぎィ!なタイトルを、CSSで以下のように三点リーダ(…)で省略したかった。
.longBrilliantTitleName {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.quiteLongBrilliantTitleName {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3; /* clampしたい行数 */
overflow: hidden;
}
※ただし2行以上の複数行ではwebkitを使用しているのでchrome,safariなどでしか使えない。
だが、何故かgulp-sassでcssを出力しても複数行で三点リーダが出ない。
で、出力されたcssを確認すると、
.quiteLongBrilliantTitleName {
display: -webkit-box;
-webkit-line-clamp: 3;
overflow: hidden;
}
あれ、小生の-webkit-box-orient: vertical;
が消えてる...。
解決
どうやらautoprefixがベンダプレフィクスを消していた模様。なので安直ではあるが、gulpfiles.jsでscssをコンパイルする過程で、autoprefixerに、ベンダプレフィクスを消さないで。と頼んでみた。
gulp.task('scss', function() {
return gulp.src(paths.scss)
.pipe(sass(sassOptionsIsCoco))
.pipe(autoprefixer({remove:false})) // 消さないで。の設定
.pipe(gulp.dest(paths.css));
});
解決。
やったぜ。
参考
Author And Source
この問題について(gulp-sassのコンパイルがうまくいかないと思ったらautoprefixerが消してた話), 我々は、より多くの情報をここで見つけました https://qiita.com/oratake/items/07c3bdd9761736623c22著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .