CSS framework, 12 column layout, include Flex & Grid version,
INCLUDE:      FLEXBOX + GRIDBOX + RADIO & CHECKBOXES + UTILITIES      Go to BOTTOM




To check behaviour of Framework examples try changing Browser window (from "Mobile" to "Desktop" size), source-code you can check via Browser Developer Toolbar.


12-column GRIDBOX


col-12 GRIDBOX
col-6
col-6
col-4
col-4
col-4
col-3
col-3
col-3
col-3
col-8
col-4

MIX - where parent (green-bordered) GRIDBOX has more nested GRIDBOXes or FLEXBOXes inside

Column A with child GRID rows

sm-12
sm-4 md-3
boxes-vertical
box-fit 1
box-fit 2
box-fit 3
box-fit 4
sm-4 md-6
boxes-inline
box-fit 1
box-fit 2
box-fit 3
box-fit 4
sm-4 md-3
sm-6
sm-6

Column B with child FLEX rows

col
sm-12 md-3
.w-100 & .h-100
check source-code
sm-12 md-6
some inserted text and even more and bla, bla, bla ...
sm-12 md-3
col-6
col-6

GRID with SUBGRID - subgrid takes-over the properties of the parent grid, what is useful for the same inside repeated elements, like Cards etc.

Short title text 01

Lorem ipsum dolor sit amet consectetur adipisicing elit. And some other content bla, bla, bla.

Short title text 01

Lorem ipsum dolor sit amet consectetur adipisicing elit. And some other content bla, bla, bla.

Short title text 01

Lorem ipsum dolor sit amet consectetur adipisicing elit. And some other content bla, bla, bla.

Short title text 01

Lorem ipsum dolor sit amet consectetur adipisicing elit. And some other content bla, bla, bla.

GAP(s) - are the same for both GRIDBOX and FLEXBOX

No Gap  

Column
Column
Column

.gap-4 (4 * 0.25rem = 16px)

Column
Column
Column

GRIDBOX columns positioning

column size-4 & starts at column-2 (of 12)
column size-3 & starts at column-7 (of 12)

CONTAINERS Wdths & Alignments

Containers are not direct part of Flexbox/Gridbox, they are designed to positioning of Flexbox/Gridbox   .go-left / .go-center / .go-right

In general DEMO "container" has max-width = 1400px, but Framework include also containers with fixed widths SM / MD / XL /XXL (set by break-points) + "container-fluid" = 100%

Container-fluid (width = 100%) - OR - you can use pre-defined container-sm /-md/-lg/-xl/-xxl (fixed widths by break-points) - OR - width can be set individually
Container-sm (width SM = 576px)
Container-sm (width SM = 576px) & .go-center
Container-sm (width SM = 576px) & .go-right

Grid Auto-fit

Auto-fit set all boxes to equal-widths in row (items are responsive, but don't break in row), items must have set some min "width" !!!.

Auto-fitting item 1
Auto-fitting item 2
Auto-fitting item 3
Auto-fitting item 4
Auto-fitting item 5
Auto-fitting item 6
Auto-fitting item 7

Grid Auto-fill

Auto-fill set all boxes in row as much as it possible (items are not responsive with fixed OR min-max width), when is not enough space after row breaks to new row.

Auto-filling item 1
Auto-filling item 2
Auto-filling item 3
Auto-filling item 4
Auto-filling item 5
Auto-filling item 6
Auto-filling item 7

Gaps (works in both FLEXBOX & GRIDBOX)

default = zero, .gap-x in range from 0 to 10   (by steps = 0.25rem   where 1rem = 16px), check source-code and try to change it yourself, via Developer Toolbar in Browser, example: gap-4

item 1
item 2
item 3
item 4
item 5
item 6
item 7

OTHER Gridbox Helpers ...

DASHBOARD DEMO example with grid-areas, for more check HTML / SCSS / CSS source code or CHEATSHEETS links

Please, check HTML and SCSS / CSS source code

Header Area

This header spans the full width in all layouts.

Content Area

This is the main content area. It spans 2 columns on desktop but takes full width on mobile.

The grid-areas template handles all the layout changes based on screen size.


12-column FLEXBOX (like the Bootstrap, the same ".class names", the same "behaviour")       Go to TOP


FLEXBOX (container centered as default)

Basic Flexbox row/col like "col-4" without break-points sm, md, lg, xl, xxl like "col-sm-4" etc. are responsive in all widths, not switched by break-points

col-1
col-11
col-2
col-10
col-3
col-9
col-4
col-8
col-5
col-7
col-6
col-6
col-12
col
col
col

FLEXBOX parent (border-2px-green) with more nested FLEXBOXes inside

First column with more child rows

sm-12
sm-4 md-3
boxes-vertical
box-fit 1
box-fit 2
box-fit 3
box-fit 4
sm-4 md-6
boxes-inline
box-fit 1
box-fit 2
box-fit 3
box-fit 4
sm-4 md-3
sm-6
sm-6

Second column with more child rows

col
sm-12 md-3
.box-fit, .h-100
not .w-100
check source code
sm-12 md-6
and some content and next content and further more content
and bla, bla, bla ...
sm-12 md-3
col-6
col-6

FlEXBOX and "box-fit" width AND height 100%

col
col-6
col-6
col-4
col-4
col-4
col-3
col-3
col-3
col-3
8 columns (bgrd-color light-blue)
flex-row + ".items-stretch" = all col(s) inside cover entire row height (!),
but "box-fit" (bgrd-color gray) as nested item has own height,
when you want it 100% height also, you have to add .h-100" for them.
4 columns
.box-fit & .h-100 & .w-100

Flexbox offsets - under SM (576px) is offset reset to zero (!)

offset-11
offset-10
offset-9
offset-8
offset-7
offset-6
offset-5
offset-4
offset-3
offset-2
offset-1
offset-0

Column reordering, container-fluid (see source code how to apply first/last sm, md, lg, xl, xxl)

not-ordered columns

col-4
col-4
col-4

re-ordered columns

col-sm-4
col-sm-4
col-sm-4

OTHER Flexbox Helpers ...


12-column layout Framework ( OTHER TEST EXAMPLES )       Go to TOP


FLEXBOX

Column A
Column B
Column C
Column D
Column A
Column B
Column C
Column D
Column A
Column B
Column C
Column D
Column A
Column B
Column C
Column D

GRIDBOX

Column A
Column B
Column C
Column D
Column A
Column B
Column C
Column D
Column A
Column B
Column C
Column D

MIX GRIDBOX & FLEXBOX

Grid/Flex DEMO, where content in row/columns is wrapped into "boxes" (to setup them margin/padding).
blue example "boxes"   [box] = width 100%   [box-fit] = width fit-content

A) GRID column with GRID rows inside

sm-12
sm-6 md-4
boxes-vertical
box 1
box 2
box 3
box 4
sm-6 md-4
boxes-inline
box-fit 1
box-fit 2
box-fit 3
box-fit 4
sm-12 md-4
col-6 and .h-100,
+ inside box .h-100
check source-code
col-6

B) GRID column with FLEX rows inside

sm-12
sm-6 md-4
boxes-vertical
box 1
box 2
box 3
box 4
sm-6 md-4
boxes-inline
box-fit 1
box-fit 2
box-fit 3
box-fit 4
sm-12 md-4
col-6,
+ inside box .h-100
check source-code
col-6

Radio & Checkbox ( re-styled classic "HTML" inputs ),       Go to TOP


SE - RADIOBOX and CHECKBOX (default size = 24px, like MD) ... container .go-center

SE - RADIO box sizes ... container .go-center

SE - RADIO boxes - horizontal (default) ... container .go-center

SE - RADIO se-radiobox-group ... "justify-content-evenly/-around/-between/-left/-right"   PLUS   "align-items-evenly" ( see cource code, try to change it yourself ) ... sorting works only in Flex/Grid, not in List/Table

SE - CHECK boxes - sizes

SE - CHECK boxes, horizontal direction (defaul)

SE - CHECK boxes - vertical, items = align-space-between


SE - DIVIDERS vertical & horizontal ... with two thickness 1px (default) & 2px (double) ... indent is set via utilities classes mx-  / my-  (in range 0-16px), default = 1rem steps by 0.25rem




BORDERED - classic HTML Table with ".bordered" + first cell in row as th scope

  Header Header Header Header Header
first row cell table cell table cell table cell table cell table cell
first row cell table cell table cell table cell table cell table cell
first row cell table cell table cell table cell table cell table cell

VARIABLES & UTILITIES (helpers) used in SASS / SCSS files to generate CSS output       Go to TOP


Universal variables

$universal-margin:s
$universal-padding:
$universal-border-radius:
$universal-box-shadow:
$universal-box-margin-block:
$universal-box-margin-inline:
$universal-box-padding-block:
$universal-box-padding-inline:
$universal-gap-spacing:
$universal-grid-spacing:
0 !default;
0 !default;
0.125rem !default;
none !default;
0 !default;
0 !default;
0 !default;
0 !default;
0 !default;
0 !default;
// Universal margin for the most elements
// Universal padding for the most elements
// Universal border-radius for most elements
// Universal box-shadow for most elements
// Universal for box-fit content wrapper in columns
// Universal for box-fit content wrapper in columns
// Universal for box-fit content wrapper in columns
// Universal for box-fit content wrapper in columns
// Universal for both = flexbox & gridbox
// Universal for both = flexbox & gridbox

$universal-breakpoints:

xs:
sm:
md:
lg:
xl:
xxl:
// 360px // it was for backward compatibility with OLD Bootstrap, XS is now removed !!!
576px
768px
992px
1200px
1400px

$config:

spacing
percentage
borderRadius
inputSizes
- in steps by 0.25rem where 1rem = 16px
- semantic names for dimensions (to cover needs of 12 columns layout)
- basic radius values
- and radio & checkbox sizes

$spacing

0
1
2
3
4
5
6
7
8
9
10
= 0
= 0.25rem
= 0.5rem
= 0.75rem
= 1rem
= 1.25rem
= 1.5rem
= 1.75rem
= 2rem
= 2.25rem
= 2.5rem

$percentage

100
1-half
1-third
2-third
1-quarter
2-quarter
3-quarter
1-fifth
2-fifth
3-fifth
4-fifth
1-sixth
5-sixth
= 100%
= 50%
= 33.333333%
= 66.666667%
= 25%
= 50%
= 75%
= 20%
= 40%
= 60%
= 80%
= 16.666667%
= 83.333333%

$borderRadius

none
2px
4px
6px
8px
full
= 0
= 0.125rem
= 0.25rem
= 0.375rem
= 0.5rem
= 9999px

$inputSizes

xs
sm
md
lg
xl
xxl
= 1rem
= 1.125rem
= 1.25rem
= 1.5rem
= 1.75rem
= 2rem

$radio-and-checkbox-size

xxs
xs
sm
base
md
lg
xl
xxl
= 1rem
= 1.125rem
= 1.25rem
= 1.5rem
= 1.5rem
= 1.75rem
= 2rem
= 2.5rem

HELPER classes

Container: .container (width = unset) .container-fluid (width = 100%) .container-sm .container-md .container-lg .container-xl .container-xxl   fixed widths by $universal-breakpoints

Align horizontally: .go-left .go-center .go-right   they are set via margins

Align vertically: .align-start align-center align-end items-stretch

Box: .box (width = 100%) .box-fit (width = fit-content)

Display: .d- ... block / table / flex / grid / inline / inline-block / inline-flex / hidden   for example: .d-inline-flex

Position: .absolute / .relative / .static / .fixed / .sticky

Margins: .m-$spacing mx-$spacing mx-auto my-$spacing ... mt- / mb- / ml- / mr-   for example: .mx-3

Paddings: .p-$spacing px-$spacing py-$spacing ... pt- / pb- / pl- / mp-   for example: .py-4

Widths: .w-$percentage (12 classes)   for example: .w-3-fifth = (3 * 20%) + .w-auto / .w-screen / .min-w-0 / .min-w-100 / .min-w-none / .max-w-100

Heights: .h-$percentage (12 classes)   for example: .h-3-fifth = (3 * 20%) + .h-auto / .h-screen / .min-h-0 / .min-h-100 / .min-h-100 / .max-h-screen

Border radius: .rounded-$borderRadius   for example: .rounded-8px

Gap: .gap-$spacing   for example: .gap-3   but gaps works only in Flexbox / Gridbox (!)

Dividers: .divider-h .divider-h-bold .divider-v .divider-v-bold   normal thickness = 1px, bold = 2px, indent can be set via mx-... / my-...   normal = 1rem

Bordered: .bordered   specific "pseudo-borders" of Flexbox/Gridbox, apply to "row", but columns must be without gaps (!) check examples above, use very carefully (!)

Inputs: .label.se-radiobox-$radio-and-checkbox-size .label.se-checkbox-$radio-and-checkbox-size + .se-radiobox-group / .se-checkbox-group   sizes from xxs to xxl, default size = 1.5rem,
   for more info and usage see above examples include source-code

NOTICE

For specific implementation please check individual SCSS files   _utilities.scss + _flexbox.scss + _gridbox.scss + _radio-and-checkbox.scss

All CSS output styles you can check in styles.css