autoprefixer 和 cssnext

Autoprefixer
根据 Can I use数据,按需给无前缀代码自动加厂商前缀。
输入:

a {
    display: flex;
}

输出:

a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
}

cssnext
CSS 的转译器(transpiler),根据目前仍处于草案阶段、未被浏览器实现的标准把代码转译成符合目前浏览器实现的 CSS。类似 ES6 的 Babel。转译时因为也要处理前缀问题,所以直接依赖了 Autoprefixer 来做这个部分。
输入:

/* custom selectors */
@custom-selector --heading h1, h2, h3, h4, h5, h6;
--heading { margin-top: 0 }

/* filters */
.blur {
  filter: blur(4px);
}

输出:

/* custom selectors */
h1,
h2,
h3,
h4,
h5,
h6 { margin-top: 0 }

/* filters */
.blur {
  filter: url(‘data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="4" /></filter></svg>#filter‘);
  -webkit-filter: blur(4px);
          filter: blur(4px);
}

两者都是基于 CSS 处理框架 postcss 的(postcss 就是 Autoprefixer 的作者把 Autoprefixer 从另一个 CSS 处理框架 rework 中迁移出来时搞的)。

相比之下,Autoprefixer 更加具有实用价值,而 cssnext 实现的功能以后浏览器会怎么实现还存疑,感觉只能玩玩。

作者:顾轶灵
链接:http://www.zhihu.com/question/28622861/answer/41736403

时间: 2024-08-03 03:30:37

autoprefixer 和 cssnext的相关文章

How Javascript works (Javascript工作原理) (十三) CSS 和 JS 动画底层原理及如何优化其性能

个人总结:读完这篇文章需要20分钟. 这是 JavaScript 工作原理的第十三章. 概述 正如你所知,动画在创建令人叹服的网络应用中扮演着一个关键角色.由于用户越来越注重用户体验,商户开始意识到完美,令人愉悦的用户体验的重要性,结果网络应用变得越来越重并且拥有更多动态交互的功能.这就要求网络应用提供更加复杂的动画来实现平滑的状态过渡贯穿于用户的使用过程当中.现在,这已经司空见惯.用户变得越来越挑剔,他们潜意识期许可以获得快速响应和良好交互的用户界面. 然而,让界面具有动画效果不一定是件简单的

webpack加载postcss,以及autoprefixer的loader

webpack2.0加载postcssloader以及autoprefixer实现自动根据兼容性的需求给css加私有前缀的功能,给开发带来便利, 下面是我的配置信息,亲测有效: 1.webpack.config.js的配置: module: { rules: [ { test: /\.vue$/, loader: 'vue-loader', options: { // vue-loader options go here postcss: [require('autoprefixer')({ b

Autoprefixer

众所周知为兼容所有浏览器,有的CSS属性需要对不同的浏览器加上前缀,然而有时添加一条属性,需要添加3~4条类似的属性只是为了满足浏览器的兼容,这不仅会增加许多的工作量,还会使得你的思路被打断. 如何解决这个问题?最近写项目时,就发现了一个处理CSS前缀问题的神器--AutoPrefixer. AutoPrefixer What is AutoPrefixer Autoprefixer是一个后处理程序,你可以同Sass,Stylus或LESS等预处理器共通使用.它适用于普通的CSS,而你无需关心要

浏览器前缀-----[译]Autoprefixer:一个以最好的方式处理浏览器前缀的后处理程序

Autoprefixer解析CSS文件并且添加浏览器前缀到CSS规则里,使用Can I Use的数据来决定哪些前缀是需要的. 所有你需要做的就是把它添加到你的资源构建工具(例如 Grunt)并且可以完全忘记有CSS前缀这东西.尽管按照最新的W3C规范来正常书写你的CSS而不需要浏览器前缀.像这样: a{      transition :transform 1s } Autoprefixer使用一个数据库根据当前浏览器的普及度以及属性支持提供给你前缀: a{      -webkit-trans

强大的第三方工具autoPrefixer

作为前端开发者,最最头痛的就是处理各种浏览器的兼容性,尤其是CSS3盛行的今天.大家都知道不同的浏览器通常使用的引擎(Rendering Engine,也称“内核”)是不一样的. 常用的内核为四种: 1.webkit 代表浏览器有:chrome. Safari css3兼容写法:-webkit-XXX 2.Trident 代表浏览器有:IE.腾讯TT css3兼用写法:-ms-XXX 3.Gecko 代表浏览器有:Firefox.Netscape css3兼容写法:-moz-XXX 4.Pres

webstorm配置Autoprefixer,自动补齐代码

1.win+R,运行npm install postcss-cli -g 2.安装autoprefixer npm install autoprefixer -g 3.安装 npm install postcss-cli -g 4.打开webstorm--settings--找到External Tools,新增Tools 配置参数 Program:填入你的PATH,postcss.cmd所在的文件夹 我的是C:\Users\还有谁\AppData\Roaming\npm\postcss.cmd

展望未来:使用PostCss和cssnext书写css

作者:Mark Goodyear 原文链接:A look into writing future CSS with PostCSS and cssnext 像twitter,google,bbc使用的一样,我打算看一看使用PostCSS处理的css的世界. PostCSS是什么? PostCSS是使用javascript插件转换css的后处理器.PostCSS本身不会对你的css做任何事情,你需要安装一些plugins才能开始工作.这不仅使其模块化,同时功能也会更强. 它的工作原理就是解析css

autoprefixer小记

autoprefixer配置 // var aPostcss = [require('autoprefixer')({ browsers: ['ios>=3','android>=2','chrome>=4','firefox>=3'] })];var aPostcss = [require('autoprefixer')({ browsers: ['last 10 versions', 'Android >= 4.0','Ios >= 8.0'] })]; autop

webstorm 添加 autoprefixer 工具为CSS加前缀

webstrom IDE 的 setting (快捷键 Ctrl + Alt  + S) Tool -- External tool (绿色 + 添加) 3.填写 必要的项目 后 apply 备注:Name: 显示的名称 Programs: postcss.cmd 的全局安装下的路径 Paramters: -u autoprefix -o 输出文件  输入文件 (上面表示在输入输出都在同一个文件上并添加操作) Working directory: 在项目下即可 4.添加快捷键 Keymap中 找