为什么使用PostCSS?
来源:互联网 发布:淘宝宝贝违规被删除 编辑:程序博客网 时间:2024/06/04 00:49
什么是PostCSS?
PostCSS是什么?最好的定义来自于PostCSS自身项目在github上的描述:
PostCSS is a tool for transforming CSS with JS plugins.These plugins can support variables and mixins, transpile future CSS syntax, inline images, and more.
PostCSS基于js插件去转换css的一个工具。这些插件支持变量,mixin,未来的css语法,在线图片甚至更多。
所以PostCSS只是一个转化css的工具,让我们更好的去写css
编译速度快
编译同一个文件,不同编译器的编译时间如下
一些常用插件
autoprefixer是PostCSS最著名的一款插件,就不过多介绍了,相信同学们都使用过。
postcss-cssnext (内置autoprefixer) 允许你使用未来的css语法,如css4(可以理解为css中的Babel)
postcss-sprites 自动制作雪碧图,不用手动拼接啦,哈哈哈
cssnano 压缩css代码(如果你是用webpack的话,css-loader集成了cssnano,你不需要再次引入)
postcss-hash-classname 把转换后的css文件名附上哈希值
pixrem 将rem转换为px
postcss-px-to-viewport 将px转换为vh和vw(推荐作为移动端的计量单位,而不是rem)
postcss-pxtorem 将px转换为rem
用法
npm构建
先用npm安装脚手架
npm i -g|-D postcss-cli
命令行通过PostCSS输出css
postcss –use autoprefixer -c options.json -o main.css css/*.css
具体用法请点击github官网:https://github.com/postcss/postcss-cli
Webpack
首先安装postcss-loader
npm install postcss-loader –save-dev
webpack配置:
module.exports = { module: { rules: [ { test: /\.css$/, exclude: /node_modules/, use: [ { loader: 'style-loader', }, { loader: 'css-loader', options: { importLoaders: 1, } }, { loader: 'postcss-loader' } ] } ] }}
并且你需要在项目根目录下配置一个postcss.config.js文件,以autoprefixer为例:
//postcss.config.jsmodule.exports = { plugins: { 'autoprefixer': { browsers: '> 5%', grid: true } }}
gulp
安装gulp-postcss和gulp-sourcemaps
配置如下:
gulp.task('css', function () { var postcss = require('gulp-postcss'); var sourcemaps = require('gulp-sourcemaps'); return gulp.src('src/**/*.css') .pipe( sourcemaps.init() ) .pipe( postcss([ require('precss'), require('autoprefixer') ]) ) .pipe( sourcemaps.write('.') ) .pipe( gulp.dest('build/') );});
参考链接:1.w3cplus2.PostCSS的github官网
- 为什么使用PostCSS?
- PostCss
- PostCSS
- postcss
- 在webpack中如何使用postcss
- webpack3.0----postcss-loader的使用
- 如何使用 PostCSS 在样式表中处理图片
- Vue2+WebPack2使用css/sass+postcss的autoprefixer
- webpack3.0问题系列 ——postcss-loader的使用
- 关于npm-cnpm-postcss-autoprefixer以及BootStrap的使用
- PostCss简介
- 什么事postCSS
- 初探PostCSS
- 谈谈PostCSS
- postcss压缩 postcss-clean替换cssnano
- vue 文件添加postcss postcss-loader
- postcss 知识点备忘
- postcss import的bug
- learning之桥接模式
- 欢迎使用CSDN-markdown编辑器
- 两个整数交换的3中方法
- jQuery 及ajax学习
- (68)TreeSet练习:两种排序方式:自然排序(实现comparable接口)、比较器
- 为什么使用PostCSS?
- Hibernate 分页
- 【docker】--JBoss集群的搭建
- 链表面试题总结----(可能带环相交问题+复杂链表的复制)
- 链表--1.判断两个链表是否相交,若相交,求交点。(假设链表不带环)2.判断两个链表是否相交,若相交,求交点。(假设链表可能带环)
- Calabash-ios安装
- 机器学习资料
- 【软工学习】第九章——信息安全知识
- Java8 方法引用和构造器引用