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

  • 相关阅读:
    orcale 之数据操作
    快速排序-java
    javadoc错误: 编码gbk的不可映射字符
    javaweb-url /
    javaWeb-mvc之利用c3p0写入数据库出现乱码
    java基础-jdbc——三种方式加载驱动建立连接
    老调重弹:JDBC系列之<驱动加载原理全面解析) ----转
    java基础-反射之Class.forName
    mvc-servlet---servletContext与servletConfig2
    mvc-servlet---ServletConfig与ServletContext对象详解(转载)
  • 原文地址:https://www.cnblogs.com/goodbeypeterpan/p/5706594.html
Copyright © 2011-2022 走看看