我正在使用autoprefixer with gulp为属性添加浏览器渲染前缀。但似乎autoprefixer忽略了所有的网格属性。
gulp.task('postcss',function() {
console.log("Running postcss task");
var plugins = [autoprefixer({browsers: "last 5 versions"}),orderValues()];
return gulp.src('www/css/*.css')
.pipe(postcss(plugins,{ map:true , inline:true }))
.pipe(gulp.dest("www/css/"));
});
答案 0 :(得分:3)
默认情况下禁用此功能。您需要在使用grid: true
Autoprefixer有4个功能,可以通过选项启用或禁用:
- 支持:false将禁用@supports参数前缀。
- flexbox:false将禁用flexbox属性前缀。或者flexbox:“no-2009”将仅为最终版本和IE版本的规范添加前缀。
- remove:false将禁用清除过期的前缀。
- grid:true将为IE启用网格布局前缀。
决定是在Twitter上投票后做出的(问题#817),其背后的原因是IE10-11和Edge 12-15中实施的旧网格规范与实施的现有规范有太大不同在Chr,Fx,Saf(?)和传入的边缘16.
您需要更多手动工作才能在IE10-Edge 15上获得相同的结果,要么是后备还是要限制使用不受支持的属性(grid-area
等)和值(repeat()
我认为等):在这两种情况下,它都不能由Autoprefixer自动完成,所以nope,默认情况下禁用。
编辑: 比你的问题走得更远并回答“我能用浏览器支持IE10引入的旧的第一个Grid Layout规范吗?”:
@supports (grid-area: auto) { /* */ }
但不是@supports (display: grid) {}
,这不会起作用(见文章)。