gulp autoprefixer不添加moz前缀

时间:2014-09-29 10:43:13

标签: mozilla gulp linear-gradients autoprefixer

我在项目中使用gulp和autoprefixer,我必须使用像这样的背景渐变:

background: linear-gradient(#e98a00, #f5aa2f);

但输出是:

background:-webkit-linear-gradient(#e98a00,#f5aa2f);
background:linear-gradient(#e98a00,#f5aa2f);

我怎么了?

Gulpfile.js的一部分

gulp.task('styles', function() {
  return gulp.src(['css/less/mainPage.less'])
    .pipe(plumber())
    // .pipe(concat('base.scss'))
    .pipe(less())
    .pipe(prefix([{ browsers: ['IE 8', 'IE 9', 'last 5 versions', 'Firefox 14', 'Opera 11.1'] }]))
    .pipe(minifyCSS({keepBreaks: true}))
    .pipe(gulp.dest('css'))
    .pipe(connect.reload());
}); 

我使用gulp-autoprefixer

即使我设置了

 browsers: ['Firefox 14']

输出仍然是:

 background:-webkit-linear-gradient(#e98a00,#f5aa2f);
 background:linear-gradient(#e98a00,#f5aa2f);

3 个答案:

答案 0 :(得分:8)

使用" autoprefixer-core"与" gulp-postcss"。用法示例:

var MASK_SRC = "./src/mask/page0/";

var gulp = require("gulp")
var plumber = require("gulp-plumber")
var postcss = require('gulp-postcss');
var sourcemaps = require('gulp-sourcemaps');
var autoprefixer = require('autoprefixer-core');
var csso = require("gulp-csso")

gulp.task("styles", function() {
    return gulp.src(MASK_SRC + "scss/*.css")
    //.pipe(plumber())
    .pipe(postcss([ autoprefixer({ browsers: ["> 0%"] }) ]))
    //.pipe(csso())
    .pipe(gulp.dest(MASK_SRC + "/css/"))
})

gulp.task("dev", ["styles"], function() {
  gulp.watch(MASK_SRC + "scss/**/*", function(event) {
    gulp.run("styles")
  })
})

答案 1 :(得分:0)

如果您选中http://caniuse.com/#search=linear-gradient,您会看到Firefox至少版本30不需要moz-前缀。版本30具有全球市场份额< 1%,您已设置'> 1%'

答案 2 :(得分:0)

gulp-autprefixer有一个错误。无法添加" -moz - "前缀。

Autoprefixer standalone效果很好:http://jsfiddle.net/tsvppawk/

相同的查询" Firefox> = 2"在gulp-atuprefixer中生成:

background: -webkit-linear-gradient(#e98a00, #f5aa2f);
background: linear-gradient(#e98a00, #f5aa2f);