postcss-grid

2.0.0 • Public • Published

postcss-grid Build Status

A semantic grid system for PostCSS

Installation

npm install postcss-grid

Usage

var fs = require('fs');
var postcss = require('postcss');
var grid = require('postcss-grid');
 
var css = fs.readFileSync('input.css', 'utf8');
 
var options = {
  columns: 12, // the number of columns in the grid
  maxWidth: 960, // the maximum width of the grid (in px)
  gutter: 20, // the width of the gutter (in px)
  legacy: false // fixes the double-margin bug in older browsers. Defaults to false
};
 
var output = postcss()
  .use(grid(options))
  .process(css)
  .css;

Columns

Columns are created by using the grid-column declaration and passing a /-delimited value. This value contains the number of columns the element should span, separated by the total number of columns in the element's container.

Example:

.element {
  grid-column: 1/12;
}

Turns into:

.element{
  float: left;
  width: 6.42361%;
  margin-right: 2.08333%;
}

You can also use it in conjunction with the !last declaration to make sure that the last element of the row doesn't allocate a gutter, pushing itself to the next row.

Example:

.element {
  grid-column: 1/2 !last;
}

Turns into:

.element{
  float: left;
  width: 6.42361%;
}

Offsetting elements

Elements can be offset to the left and the right by using grid-pull and grid-push.

Example:

.push {
  grid-push: 1/12;
}
.pull {
  grid-pull: 1/12;
}

Turns into:

.push {
  margin-left: 8.50694%;
}
.pull {
  margin-right: 8.50694%;
}

Width and gutter values

The width and gutter values can be retrieved by calling grid-width(...) and grid-gutter(...) from a declaration.

Example:

.element {
  width: grid-width(1/12);
  margin-left: grid-gutter(12);
}

Turns into:

.element {
  width: 6.42361%;
  margin-left: 2.08333%;
}

Package Sidebar

Install

npm i postcss-grid

Weekly Downloads

6

Version

2.0.0

License

MIT

Last publish

Collaborators

  • andyjansson