更多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. Go语言实现:【剑指offer】二叉搜索树与双向链表

    该题目来源于牛客网<剑指offer>专题. 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. Go语言实现: type T ...

  2. MongoDB -> kafka 高性能实时同步(采集)mongodb数据到kafka解决方案

    写这篇博客的目的 让更多的人了解 阿里开源的MongoShake可以很好满足mongodb到kafka高性能高可用实时同步需求(项目地址:https://github.com/alibaba/Mong ...

  3. DOCKER绝对领域从2048到4069?不:25519,数字的飞跃,HTTP/2

    这个标题花了几分钟,远远超过我构思以下内容的时间损耗,希望大家且看且珍惜,因为这是为数不多的cnblog特别标题 我记得很久以前,我开了一系列随笔,从第一篇揭发233的docker/machine开始 ...

  4. PBFT 算法 java实现(下)

    PBFT 算法的java实现(下) 在上一篇博客中(如果没有看上一篇博客建议去看上一篇博客),我们介绍了使用Java实现PBFT算法中节点的加入,view的同步等操作.在这篇博客中,我将介绍PBFT算 ...

  5. IntelliJ 更改项目使用的 JDK 版本

    在当前使用的 IntelliJ 中的 JDK 版本为 1.8,如何修改 IntelliJ 使用的 JDK 版本为 1.11 呢? 你可以在 IntelliJ 中进行修改. 选择 File 后,然后选择 ...

  6. 大白话工厂方法模式(Factory Method)

    目录 简单工厂模式缺陷 简单工厂模式改造 工厂方法模式定义 工厂方法模式结构 工厂方法模式分析 参考文献 简单工厂模式缺陷 大白话简单工厂模式(Simple Factory Pattern)中通过买车 ...

  7. 前端的Cookies

    Cookies cookies 特性 前端数据存储 后端通过 HTTP 头设置 请求时通过 HTTP 头传给后端 前端可读可写 遵守同源策略 域名 有效期 路径 http-only secure(ht ...

  8. 静态随机存储器SRAM存储数据原理

    RAM主要的作用就是存储代码和数据供中央处理器在需要的时候进行调用.对于RAM等存储器来说仍是一样的,虽然存储的都是代表0和1的代码,但是不同的组合就是不同的数据.对于RAM存储器而言数据总线是用来传 ...

  9. ts中的装饰器

    // 装饰器一种特殊的类的声明, 扩展类.属性.方法. function logClass(params:any) { console.log(params); // params代表HttpClic ...

  10. 纪中某日c组模拟赛 2314. 最短路

    2314. 最短路 (File IO): input:dti.in output:dti.out 时间限制: 1000 ms  空间限制: 262144 KB  具体限制   Goto Problem ...