LoginSignup
17
18

More than 5 years have passed since last update.

cssnanoを通したらベンダープレフィックスが消えて困った時のメモ

Posted at

今回の流れ

gulp-minify-cssから乗り換え

gulp-minify-cssでcssをminifyしてきたのですが、PostCSSへの流れと公式サイトの下記メッセージから、乗り換えを決意。

This package has been deprecated in favor of gulp-cssnano, which should offer more advanced optimizations.

Android2.3でレイアウト崩れ

minify前のcssでは正常なレイアウトがminify後のcssで崩れたので調査。
-webkit-box-sizing: border-box;のベンダープレフィックスが消えていたことが原因と判明。
※2.3では必要なんです…

なので、cssnanoについて再度確認。

cssnano

ベンダープレフィックスが除去できる

公式サイトを見てたら下記文言。

Removal of outdated vendor prefixes

はい、Google翻訳!

時代遅れのベンダープレフィックスの除去

時代遅れですいません。
cssnanoの機能をきちんと把握してませんでした。

デフォルト設定ではremoveしかできぬ

こんなコメントが。

In cssnano by default it only removes prefixes.

設定をうまくすればなんとかなりそう。

オプションについて

たくさんありますが、下記コードが目につきました。
cssnano.process(css, {autoprefixer: false});

falseしちゃうんですか。

autoprefixerが使える

.pipe(cssnano({
    autoprefixer: {browsers: supported, add: true}
}))

削除だけではなく、オプションで普通に使えました。

結局止めました

.pipe(postcss([
    cssnano({autoprefixer: false})
]))

諸事情によりautoprefixerは別で走らせていて、cssnanoでは不要なので止めました。

csswringがいいのでは説

cssnanoの多機能さに振り回されるなら、minifyについてはcsswringがいいのでは、という話も耳にしつつ、一旦はcssnanoで続けてみることにします。

17
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
18