Gulpのautoprefixerでブラウザのバージョンを指定する方法をメモ。
指定方法
gulp-sassとgulp-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
【参考サイト】
コメントが承認されるまで時間がかかります。