zoukankan      html  css  js  c++  java
  • PostCSS一种更优雅、更简单的书写CSS方式

    Sass 团队创建了 Compass 大大提升CSSer的工作效率,你无需考虑各种浏览器前缀兼,只需要按官方文档的书写方式去写,会得到加上浏览器前缀的代码,如下:

    .row {
      @include display-flex;
    }
    

      

    会得到如下代码:

    .row {
      display: -webkit-flex; 
      display: flex;
    }
    

      

    但是, 做为一个长期用原生CSS书写方式的CSSer,不太习惯去官方查文档,再以 @include 方式书写。

    那么问题来了,我只能放弃高效率方式么?

    其实不然, Autoprefixer 能够帮助你。

    其实, Autoprefixer 也仅仅是 PostCSS 其一个最出名的插件。

    来吧, 来看张图:

    这样,以一种原生CSS的书写方式, 然后还可以帮你解决浏览器前缀、IE兼容、以下一代CSS书写方式兼容现在浏览器, 是不是很酷?

    哦, 其实应该说更简单、更优雅, 不用查文档, 不用 @include 。

    这个就是Twitter推出的postcss, 据说Google、阿里、Shopify, Twitter就不用说了。

    下面看下PostCSS一些基本使用方法:

    准备

    构建工具为 Gulp

    基于 PostCSS

    PostCSS插件 CSSNext 用下一代CSS书写方式兼容现在浏览器

    PostCSS插件 Autoprefixer 为CSS补全浏览器前缀

    PostCSS插件 CSS Grace 让CSS兼容旧版IE

    package.json

    {
      "name": "postcss usage",
      "version": "1.0.0",
      "description": "postcss cssnext",
      "main": "gulpfile.js",
      "dependencies": {
        "autoprefixer": "^5.2.0",
        "autoprefixer-core": "^5.2.1",
        "cssgrace": "^2.0.2",
        "gulp": "^3.9.0",
        "gulp-less": "^3.0.3"
      },
      "devDependencies": {
        "autoprefixer": "^5.2.0",
        "autoprefixer-core": "^5.2.1",
        "cssgrace": "^2.0.2",
        "cssnext": "^1.8.4",
        "gulp-postcss": "^6.0.0",
        "postcss": "^4.1.16"
      },
      "scripts": {
        "test": "echo "Error: no test specified" && exit 1"
      },
      "keywords": [
        "postcss",
        "gulp"
      ],
      "author": "givebest",
      "license": "ISC"
    }
    

      

    gulpfile.js

    var gulp = require('gulp');
    var postcss = require('gulp-postcss');
    var autoprefixer = require('autoprefixer');
    var cssgrace  = require('cssgrace');
    var cssnext  = require('cssnext');
    gulp.task('css', function () {
      var processors = [
        autoprefixer({browsers: ['last 3 version'],
          cascade: false,
          remove: false
        }),
        cssnext(),
        cssgrace
      ];
      return gulp.src('./src/css/*.css')
        .pipe(postcss(processors))
        .pipe(gulp.dest('./dist'));
    });
    gulp.task('watch', function(){
      gulp.watch('./src/css/*.css', ['css']);
    });
    gulp.task('default', ['watch', 'css']);

    安装

    npm install
    

      

    使用

    gulp

  • 相关阅读:
    七 HBase表结构设计
    六 一行数据存储到文件的过程。
    五、数据模型特殊属性
    四 数据模型操作
    三、 数据模型概念
    二、 HBase核心功能模块。
    一、 Hbase特性 3v特性,Volume(量级) Varity(种类) Velocity(速度)
    windows下安装redis
    redis缓存穿透和缓存雪崩
    java多线程四种实现方法
  • 原文地址:https://www.cnblogs.com/goodbeypeterpan/p/5706594.html
Copyright © 2011-2022 走看看