autoprefixerのブラウザのバージョンを指定する

Gulpのautoprefixerでブラウザのバージョンを指定する方法をメモ。

指定方法

gulp-sassgulp-autoprefixerをインストールします。

gulpfile.jsの設定を行います。

gulpfile.js

var gulp         = require('gulp'),
    sass         = require('gulp-sass'),
    autoprefixer = require('gulp-autoprefixer');

gulp.task('sass', function () {
  gulp.src('./develop/scss/**/*.scss')
  .pipe(sass())
  .pipe(autoprefixer())
  .pipe(gulp.dest('./develop/css'));
});

sassファイルの記述を行います。

style.scss

.flex {
	display: flex;
}
.transform {
	transform: scale(1.5);
}

gulp sassでコンパイルを実行します。

style.css

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.transform {
  -webkit-transform: scale(1.5);
          transform: scale(1.5); }

ベンダープレフィックスが付いた状態でCSSが出力されたのが確認できました。
 

ベンダープレフィックスをつけるブラウザのバージョンを指定します。
主要ブラウザの最後の2バージョンを対象にしてみます。

gulpfile.js

var gulp         = require('gulp'),
    sass         = require('gulp-sass'),
    autoprefixer = require('gulp-autoprefixer');

gulp.task('sass', function () {
  gulp.src('./develop/scss/**/*.scss')
  .pipe(sass())
  .pipe(autoprefixer({
    browsers: ['last 2 versions']
  }))
  .pipe(gulp.dest('./develop/css'));
});

コンパイルを実行すると、以下の内容で出力されました。

style.css

.flex {
  display: -ms-flexbox;
  display: flex; }

.transform {
  transform: scale(1.5); }

IE9以上を対象にしてみます。

gulpfile.js

var gulp         = require('gulp'),
    sass         = require('gulp-sass'),
    autoprefixer = require('gulp-autoprefixer');

gulp.task('sass', function () {
  gulp.src('./develop/scss/**/*.scss')
  .pipe(sass())
  .pipe(autoprefixer({
    browsers: ['ie >= 9']
  }))
  .pipe(gulp.dest('./develop/css'));
});

コンパイルを実行すると、以下の内容で出力されました。

style.css

.flex {
  display: -ms-flexbox;
  display: flex; }

.transform {
  -ms-transform: scale(1.5);
      transform: scale(1.5); }

複数を指定することもできます。

gulpfile.js

var gulp         = require('gulp'),
    sass         = require('gulp-sass'),
    autoprefixer = require('gulp-autoprefixer');

gulp.task('sass', function () {
  gulp.src('./develop/scss/**/*.scss')
  .pipe(sass())
  .pipe(autoprefixer({
    browsers: ['last 2 versions', 'ie >= 9', 'iOS >= 7', 'Android >= 4.2']
  }))
  .pipe(gulp.dest('./develop/css'));
});

コンパイルを実行すると、以下の内容で出力されました。

style.css

.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.transform {
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5); }

対象ブラウザの指定方法について詳しくは下記をご確認ください。
GitHub – ai/browserslist: Get browsers versions that matches given criterias like in Autoprefixer
 

【参考サイト】

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年4月
 123456
78910111213
14151617181920
21222324252627
282930