更多gulp常用插件使用请访问:gulp常用插件汇总


autoprefixer这是一款自动管理浏览器前缀的插件,它可以解析CSS文件并且添加浏览器前缀到CSS内容里。

更多使用文档请点击访问autoprefixer工具官网

安装

一键安装不多解释

npm install --save-dev autoprefixer

使用

autoprefixer(options)就是调用啦,options是个object。

autoprefixer(options)

如何在gulpfile.js文件里使用呢?其实也很简单,请看:

const gulp = require('gulp');
const autoprefixer = require('autoprefixer'); gulp.task('default', () =>
gulp.src('./before/css.css')
.pipe(autoprefixer({
overrideBrowserslist:['> 1%', 'last 2 versions', 'Firefox ESR'], // 重要配置 详见下面
cascade: false // 是否美化属性值
}))
.pipe(gulp.dest('./before/dist'))
);

其实这样就算使用autoprefixer了,是不是很简单。

控制注释

如果您在CSS的某些部分不需要使用Autoprefixer,则可以使用控件注释禁用Autoprefixer。

.a {
transition: 1s; /* will be prefixed */
} .b {
/* autoprefixer: off */
transition: 1s; /* will not be prefixed */
} .c {
/* autoprefixer: ignore next */
transition: 1s; /* will not be prefixed */
mask: url(image.png); /* will be prefixed */
}

控件注释分为三种:

  • /* autoprefixer: (on|off) */ :启用/禁用,那么整个块的所有Autoprefixer转换之前和之后的评论。
  • /* autoprefixer: ignore next */ :仅对下一个属性或下一个规则选择器或规则参数(而不是规则/规则正文)禁用自动前缀。
  • /* autoprefixer grid: (autoplace|no-autoplace|off) */ :控制Autoprefixer如何处理整个块的网格转换:
    • autoplace:启用具有自动放置支持的网格转换。
    • no-autoplace:在禁用自动放置支持的情况下启用网格转换(别名为不赞成使用的值on)。
    • off:禁用所有网格转换。

您还可以递归使用注释:

/* autoprefixer: off */
@supports (transition: all) {
/* autoprefixer: on */
a {
/* autoprefixer: off */
}
}

请注意,禁用整个块的注释不应在同一块中出现两次:

/* How not to use block level control comments */

.do-not-do-this {
/* autoprefixer: off */
transition: 1s;
/* autoprefixer: on */
transform: rotate(20deg);
}

Options详解

可用的选项有:

  • env (字符串):Browserslist的环境。

  • cascade(布尔值):如果CSS未压缩,则Autoprefixer应该使用Visual Cascade。默认:true

  • add(布尔值):Autoprefixer应该添加前缀。默认值为true。

  • remove(布尔值):应该使用Autoprefixer [删除过时的]前缀。默认值为true。

  • supports(布尔值):Autoprefixer应该为@supports 参数添加前缀。默认值为true。

  • flexbox(布尔值|字符串):Autoprefixer应该为flexbox属性添加前缀。随着"no-2009"价值Autoprefixer只会最终和IE 10个版本规格的加上前缀。默认值为true。

  • grid(false | "autoplace"| "no-autoplace"):Autoprefixer是否应为Grid Layout属性添加IE 10-11前缀?

    • false (默认):阻止自动前缀生成器输出CSS Grid转换。

      -"autoplace":启用Autoprefixer网格转换并包括自动放置支持。您也可以/* autoprefixer grid: autoplace */在CSS中使用 。
    • "no-autoplace":启用Autoprefixer网格转换,但不支持自动放置。您也可以/* autoprefixer grid: no-autoplace */在CSS中使用 。(折旧true值的别名)
  • stats(对象):自定义使用统计对> 10% in my stats 浏览器的查询。

  • overrideBrowserslist(数组):目标浏览器的查询列表。最佳实践是使用.browserslistrc配置或browserslist键入命令package.json来与Babel,ESLint和Stylelint共享目标浏览器。有关 可用的查询和默认值,请参见 Browserslist文档

  • ignoreUnknownVersions(布尔值):在Browserslist配置中的未知浏览器版本上不引发错误。默认值为false。

插件对象具有info()用于调试目的的方法。

除错

npx autoprefixer --info 在您的项目目录中运行,以检查选择了哪些浏览器以及哪些属性将带有前缀:

$ npx autoprefixer --info
Browsers:
Edge: 16 These browsers account for 0.26% of all users globally At-Rules:
@viewport: ms Selectors:
::placeholder: ms Properties:
appearance: webkit
flow-from: ms
flow-into: ms
hyphens: ms
overscroll-behavior: ms
region-fragment: ms
scroll-snap-coordinate: ms
scroll-snap-destination: ms
scroll-snap-points-x: ms
scroll-snap-points-y: ms
scroll-snap-type: ms
text-size-adjust: ms
text-spacing: ms
user-select: ms

JS API也可用:

console.log(autoprefixer().info())

gulp常用插件之autoprefixer使用的更多相关文章

  1. 精通gulp常用插件

    本文主要展示的是gulp常用插件的使用方法和用途,通过对插件的熟练运用达到精通gulp.不定期更新.可以到github上面下载DEMO. github地址:lin-xin/gulp-plugins 匹 ...

  2. gulp常用插件之gulp-postcss使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 ** gulp-postcss**这是一款通过多个插件通过管道传递CSS,但是仅解析一次CSS. 更多使用文档请点击访问gulp-postcss工 ...

  3. gulp常用插件之gulp-rev-collector使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-rev-collector这是一款根据gulp-rev生成的manifest.json文件中的映射, 去替换文件名称, 也可以替换路径. ...

  4. node和gulp实现前端工程自动化(附:gulp常用插件)

    /** * 1. LESS编译 压缩 合并 * 2. JS合并 压缩 混淆 * 3. img复制 * 4. html压缩 */ // 在gulpfile中先载入gulp包,因为这个包提供了一些APIv ...

  5. gulp常用插件之gulp-eslint使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 ** gulp-eslint**这是一个用于识别和报告在ECMAScript/JavaScript代码中找到的模式的Gulp插件.. 更多使用文档 ...

  6. gulp常用插件之gulp-babel使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-babel这是Babel的Gulp插件. 此自述文件适用于gulp-babel v8 + Babel v7检查7.x分支以了解使用Bab ...

  7. gulp常用插件之cssnano使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 cssnano这是一款将你的 CSS 文件做 多方面的的优化,以确保最终生成的文件 对生产环境来说体积是最小的插件. 更多使用文档请点击访问cha ...

  8. gulp常用插件之pump使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 pump这是一款小型节点模块,可将流连接在一起并在其中一个关闭时将其全部销毁. 使用标准source.pipe(dest)源时,如果dest发出关 ...

  9. gulp常用插件之gulp-notify使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-notify这是一款gulp通知插件. 更多使用文档请点击访问gulp-notify工具官网. 安装 一键安装不多解释 npm inst ...

随机推荐

  1. 【题解】[P1045] 麦森数

    题目 题目描述 形如2^P-1的素数称为麦森数,这时P一定也是个素数.但反过来不一定,即如果P是个素数,2^P-1 不一定也是素数.到1998年底,人们已找到了37个麦森数.最大的一个是P=30213 ...

  2. 前端添加复选框checkbox 提交到django后台处理

    根据前端勾选的复选框 提交勾选的数据到后台处理 che.html <!DOCTYPE html> <html lang="en"> <head> ...

  3. 【转载】Java的Vector,ArrayList,LinkedList

    首先看这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList.Vector和LinkedList.List用于存放多个元素,能够维护元素的次序,并且允许元素的重复.3个具体 ...

  4. 利用url地址获取你需要的参数,window.location系列

    这是我要获取url中一个code的参数值所以用了如下的方法GetQueryString(name) { let reg = new RegExp('(^|&)' + name + '=([^& ...

  5. 作为一个Java工程师,你应该要知道SPI机制

    什么是 SPI SPI是Service Provider Interface的简称,是JDK默认提供的一种将接口和实现类进行分离的机制.这种机制能将接口和实现进行解耦,大大提升系统的可扩展性. SPI ...

  6. Girlfreind:1 Vulnhub Walkthrough

    靶机链接: https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/ 主机扫描: HTTP 目录访问,提示无权限,右键源码,提示XXF即可 正 ...

  7. MySQL面试笔试题集-BAT

    01.MySQL技术特点? Mysql数据库软件是一个客户端或服务器系统,支持各种客户端程序和库的多线程SQL服务器.不同的后端.广泛的应用程序编程接口和管理工具 02.MySQL默认端口号? 330 ...

  8. 查找第K大的值

    这种题一般是给定N个数,然后N个数之间通过某种计算得到了新的数列,求这新的数列的第K大的值 POJ3579 题意: 用$N$个数的序列$x[i]$,生成一个新序列$b$. 新的序列定义为:对于任意的$ ...

  9. numpy 消除Futurewarning

    numpy版本过高 1.查看numpy版本 import numpy as np np.__version__ 2.卸载numpy sudo pip3 uninstall numpy 3.安装较低版本 ...

  10. 最短路问题 Dijkstra算法- 路径还原

    // 路径还原 // 求最短路,并输出最短路径 // 在单源最短路问题中我们很容易想到,既然有许多条最短路径,那将之都存储下来即可 // 但再想一下,我们是否要把所有的最短路径都求出来呢? // 实际 ...