.row.row-spaced.row-gap.w100.col.c-1 to .c-12.offset-c-1 to .offset-c-11.lauto.rauto.uc-1 to .uc-12.ucol.md-1 to .md-12.lg-1 to .lg-12.offset-md-1 to .offset-md-11.offset-lg-1 to .offset-lg-11.umd-1 to .umd-12.ulg-1 to .ulg-12.grid.g-1 to .g-11.gmd-1 to .gmd-11.glg-1 to .glg-11.grid.spacedout.g-bthin.g-bthin-dark.h-1 to .h-6.uh-1 to .uh-6.hm-1 to .hm-6.uhm-1 to .uhm-6@wrapper, set by default to 12.<div class="row">
<div class="c-1">c-1</div>
<div class="c-11">c-11</div>
<div class="c-2">c-2</div>
<div class="c-10">c-10</div>
<div class="c-3">c-3</div>
<div class="c-9">c-9</div>
<div class="c-4">c-4</div>
<div class="c-8">c-8</div>
<div class="c-5">c-5</div>
<div class="c-7">c-7</div>
<div class="c-6">c-6</div>
<div class="c-6">c-6</div>
</div>
<div class="row">
<div class="offset-c-11">offset-c-11</div>
<div class="offset-c-10">offset-c-10</div>
<div class="offset-c-9">offset-c-9</div>
<div class="offset-c-8">offset-c-8</div>
<div class="offset-c-7">offset-c-7</div>
<div class="offset-c-6">offset-c-6</div>
<div class="offset-c-5">offset-c-5</div>
<div class="offset-c-4">offset-c-4</div>
<div class="offset-c-3">offset-c-3</div>
<div class="offset-c-2">offset-c-2</div>
<div class="offset-c-1">offset-c-1</div>
</div>
All elements in a row will stack horizontally with .row
Replace with .row-spaced to apply: justify-content:
space-between.
On a 12-column grid, adding c-x for the number of columns, places
content in x of @wrapper segments (default 12) of the total width. (This is
similar to Bootstrap). This also accounts for margins around boxes of @gutterspace
<div class="row-spaced">
<div class="c-5">c-5</div>
<div class="c-4">c-4</div>
<div class="c-3">c-2</div>
</div>
The element with .lauto has margin left set to auto.
<div class="row">
<div class="c-5">c-5</div>
<div class="c-3 lauto">c-3 lauto</div>
<div class="c-1">c-1</div>
</div>
<div class="row">
<div class="c-1">c-1</div>
<div class="c-5 rauto">c-5 rauto</div>
<div class="c-3">c-3</div>
</div>
To break free from a grid, add an element with .w100, this sets width to
100%.
<div class="row">
<div>auto</div>
<div>auto</div>
<div class="w100"></div>
<div>auto</div>
<div>auto</div>
</div>
Rows may apply to ul, will carry forward column definition to li's of the same value. The class names are
.uc-1 to .uc-12
<ul class="uc-3 row">
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
</ul>
<ul class="uc-2 row-spaced">
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
</ul>
Row breaker, same rule applies .w100 to the li element, breaks the
flex grid.
<ul class="uc-1 row">
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li class="w100">breaker .w100</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
</ul>
<div class="row-spaced">
<div class="col md-6 box box-white-normal">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Blanditiis quos, reiciendis
laborum nam praesentium non libero tempore quam saepe a eos hic placeat quidem ex
dignissimos, ut porro sapiente eum?
</div>
<div class="col md-6 box box-green">
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Fugiat, consectetur facere
quasi culpa quae enim delectus in molestiae iure, est quo sit. Ducimus repudiandae minus
eos sunt obcaecati quae architecto.
</div>
</div>
A simpler way to produce two columns of content, using css grid, depending on flat HTML elements.
Alternating.
The first column is defined by g-n (n is 1 to @wrapper by default 12) and the
second one is an auto width.
<div class="grid g-3">
<h5>g-3</h5>
<div>the auto column</div>
<h5>g-3</h5>
<div>the auto column</div>
<h5>g-3</h5>
<div>the auto column</div>
</div>
Following are extra classes added to the main .grid element for extra styles.
.grid.spacedout
Adds a gap in grid
.g-bthin
Adds thin border below grid elements
.g-bthin-dark
Adds thin dark border below grid elements
.w100
Width 100%. Important
.row-gap
Adds a gap of @gutterspace
Grid styles apply on smallest screen, if you want the grid to apply to larger screens, the framework
defines two stops out of the box .md, and .lg,
for flex grid, and .gmd, and .glg for css
grid. As follows.
Assign .col to every element,
to give it full width in smaller screens. .ucol for ul elements.
<div class="row">
<div class="col c-5">col c-5</div>
<div class="col md-4">col md-4</div>
<div class="col lg-3">col lg-3</div>
</div>
<div class="row">
<div class="offset-c-2 c-2 col">offset-c-5</div>
<div class="offset-md-2 c-2 col">offset-md-2</div>
<div class="offset-lg-2 c-2 col">offset-lg-2</div>
</div>
<ul class="row umd-3 ucol">
<li>Item umd-3</li>
<li>Item umd-3</li>
<li>Item umd-3</li>
<li>Item umd-3</li>
</ul>
<ul class="row ulg-3 ucol">
<li>Item ulg-3</li>
<li>Item ulg-3</li>
<li>Item ulg-3</li>
<li>Item ulg-3</li>
</ul>
<div class="grid gmd-4 spacedout">
<strong>.gmd-4</strong>
<span>Grid</span>
<strong>.gmd-4</strong>
<span>Grid</span>
</div>
Now that container queries are supported by major browsers, Shut uses the same screen stubs as container queries,
for the grid system. Apply .row-c to the container (the row wrapper), then use
a the prefix c* to the same grid classes above. Here is how.
<div class="row row-c">
<div class="col cc-5">col cc-5</div>
<div class="col cmd-4">col cmd-4</div>
<div class="col clg-3">col clg-3</div>
</div>
If the same row is contained in a tighter section (for example .c-6), the container query kicks in relative to the new wrapping section.
<div class="c-6">
<div class="row row-c">
<div class="col cc-5">col cc-5</div>
<div class="col cmd-4">col cmd-4</div>
<div class="col clg-3">col clg-3</div>
</div>
</div>
Want more? Use the following function in LessCss to generate new grids.
/* generate media query for min-width set to xl (1200px) */
.media(xl, {
/* generates .offset-xl-c1 to .offset-xl-c11 */
.generate-offset(11, xl);
/* generates .xl-1 to .xl-12,
and .uxl-1 > li to .uxl-12 > li */
.generate-column(12, xl);
/* generats .gxl-1 to .gxl-11 with grid template */
.generate-grid(11, gxl);
/* generates .row-spaced > .xl-1 to .row-spaced > .xl-12
and .row-spaced > .uxl-1 to .row-spaced > .uxl-12
with slightly smaller percentages to accomodate for spacing */
.row-spaced {
.generate-spaced-column(12, xl);
}
});
/* the following generates width: 37.5% (4.5 / @wrapper * 100) */
.myc-4-lookalike {
.columns(4.5);
}
/* the following generates width: calc(37.5% - 10px); */
.myc-4-lookalike-off {
.columns(4.5, 10px);
}
/* or redefine the grid column to something from .c-1 to .c-15
by modifying the global variable */
@wrapper: 15;
Minimum height
The heights are multiples of @grid-column-height.
For max-height replace h- with
hm-
<ul class="row-spaced uc-2">
<li><div class="h-1">h-1</div></li>
<li><div class="h-2">h-2</div></li>
<li><div class="h-3">h-3</div></li>
<li><div class="h-4">h-4</div></li>
<li><div class="h-5">h-5</div></li>
<li><div class="h-6">h-6</div></li>
</ul>
List minimum height
For max-height replace uh- with
uhm-
<ul class="row-spaced uc-2 uh-4">
<li>uh-4</li>
<li>uh-4</li>
<li>uh-4</li>
<li>uh-4</li>
<li>uh-4</li>
<li>uh-4</li>
</ul>
The framework provides .h-1 to .h-6, you can generate more heights using the following
LESS functions:
/* generate .h-7 to .h-12, .uh-7 to .uh-12 with min-height */
.generate-min-heights(7, 12);
/* generate .hm-7 to .hm-12, .uhm-7 to .uhm-12 with max-height */
.generate-max-heights(7, 12);