grid-style
![Build Status](https://travis-ci.org/lbwa/grid-style.svg?branch=master)
CSS grid layout which is based on 12 preset columns layout implemented by flex box.
👉Browse online
Installing
npm i grid-style --save
yarn add grid-style
<link rel="stylesheet" href="https://unpkg.com/grid-style@latest/dist/index.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/grid-style@latest/dist/index.min.css">
Usage
import 'grid-style/dist/index.min.css'
import 'grid-style/dist/index.css'
import 'grid-style/layout/index.sass'
@import 'grid-style';
@import 'grid-style/layout/index.sass'
Basis
selector | target | description |
---|
.gird | container | define box container |
.grid.no-wrap | container | disallow wrap item |
.gird.col | container | set flex direction to column |
.gird.cr | container | set flex direction to column-reverse |
.gird.row | container | set flex direction to row |
.gird.rr | container | set flex direction to row-reverse |
.gird-cell | item | define default flex grow factor value of a item |
.grid-cell-1 ~ .grid-cell-12 | item | define single item width (based on 1/12 container width ) |
<div class="grid">
<div class="grid-cell grid-cell-2">
</div>
<div class="grid-cell">
</div>
</div>
Alignment
selector | target | description |
---|
.grid-top | container | define alignment per row to top-aligned |
.grid-center | container | define alignment per row to vertically-centered |
.grid-bottom | container | define alignment per row to bottom-aligned |
.grid-jc-start | container | define alignment per item to left-aligned |
.grid-jc-end | container | define alignment per item to right-aligned |
.grid-jc-center | container | define alignment per item to horizontally-centered |
.grid-jc-between | container | define alignment per item to space-between-aligned |
.grid-jc-around | container | define alignment per item to space-around-aligned |
.grid-cell-top | item | define alignment per item to top-aligned |
.grid-cell-center | item | define alignment per item to vertically-centered |
.grid-cell-bottom | item | define alignment per item to bottom-aligned |
Notice: You have to make sure all item total width less than container width if you are using .grid-jc-
properties. You can use .grid-cell-
to limit item width.
Online alignment demo
<div class="grid grid-bottom">
<div class="grid-cell">
</div>
<div class="grid-cell grid-cell-center">
</div>
</div>
Gutters
selector | target | description |
---|
.grid[grid-gutters="1"] ~ .grid[grid-gutters="5"] | container | define item gutter (based on .5em ) |
Offset
selector | target | description |
---|
.offset-1 ~ .offset-12 | item | define item offset (based on 1/12 container width ) |
Online offset demo
<div class="grid" grid-gutters="1">
<div class="grid-cell offset-1">
</div>
<div class="grid-cell offset-5">
</div>
<div class="grid-cell offset-6">
</div>
<div class="grid-cell">
</div>
</div>
Response
Notice: This section define properties to all item (.grid-cell
* n) from one container(.grid
* 1).
selector | target | description |
---|
.grid-full | container | define all item (100% container width) width from same container |
.grid-2 | container | define all item (50% container width) width from same container |
.grid-3 | container | define all item (33.3333% container width) width from same container |
.grid-4 | container | define all item (25% container width) width from same container |
.small-grid-fit | container | define flex: 1 , but it only works on device which width over 576px |
.small-grid-full | container | same as .grid-full , but it only works on device which width over 576px |
.small-grid-2 | container | same as .grid-2 , but it only works on device which width over 576px |
.small-grid-3 | container | same as .grid-3 , but it only works on device which width over 576px |
.small-grid-4 | container | same as .grid-4 , but it only works on device which width over 576px |
.large-grid-fit | container | define flex: 1 , it only works on device which width over 768px |
.large-grid-full | container | same as .grid-full , but it only works on device which width over 768px |
.large-grid-2 | container | same as .grid-2 , but it only works on device which width over 768px |
.large-grid-3 | container | same as .grid-3 , but it only works on device which width over 768px |
.large-grid-4 | container | same as .grid-4 , but it only works on device which width over 768px |