npm i @sfem/grid --save
Add the sfem-grid.css
development or sfem-grid.min.css
production to your html page.
<link rel="stylesheet" href="css/sfem-grid.min.css" type="text/css">
<div class="grid">
<div class="grid__box"></div>
</div>
<!-- xxs, xs, s, m, l, xl, xxl.-->
<div class="grid">
<div class="grid__box grid__box--size-12 grid__box--size-s-6 grid__box--size-m-2"></div>
</div>
<div class="grid">
<div class="grid__box grid__box--size-auto"></div>
</div>
<div class="grid">
<div class="grid__box grid__box--size-[n]"></div>
</div>
<div class="grid">
<div class="grid__box grid__box--size-6 grid__box--offset-6"></div>
</div>
<div class="grid">
<div class="grid__box grid__box--size-4 grid__box--order-3 grid__box--order-m-2 grid__box--order-l-1"></div>
<div class="grid__box grid__box--size-4 grid__box--order-2 grid__box--order-m-1 grid__box--order-l-3"></div>
<div class="grid__box grid__box--size-4 grid__box--order-1 grid__box--order-m-3 grid__box--order-l-2"></div>
</div>
@import "~@sfem/grid/sfem-grid"; // if node-sass-tilde-importer installed or relative path if not
// class names setting
$sfem-grid-name: 'grd'; // default: grid
$sfem-grid-box-name: 'bxs'; // default: grid__box
// Grid sets. We can generate grids with various nums of columns
$sfem-grid-columns: (10, 12); // default: (12)
// Grid paddings
$sfem-grid-gap-base: 20; // default: 16
$sfem-grid-gap-additional: (2, 6, 9); // default: (0, 8, 24)
// Screen size breakpoins (default)
// after change this variable keys in class names will be changed
$sfem-grid-breakpoint: (
xxs: 320px,
xs: 640px,
s: 768px,
m: 1024px,
l: 1280px,
xl: 1440px,
xxl: 1600px
);
[grid/box][--modificator][-breakpoint][-value](*of[-colls])
* if generated more than one grid ($sfem-grid-columns)
.grid
.grid--gap-8
.grid--gap-xl-24
.grid__box
.grid__box--size-auto
.grid__box--size-m-auto