Base.CSS

Grids


We use inline-blocks for columns.
In that way we preventing common problem of all float grids: variable columns height.
For example, Bootstrap trying to fix it in aflexbox-way
But this solution works only on less-than-12 columns per row. Flexbox just shrinks all colunns into a single row.
Also flexbox have a lot of issues on IE 10 & 11.

Grid options


class Media-query Screen width
.xx-* @media screen and (min-width: 5em) ≥ 80px
.xs-* @media screen and (min-width: 22.5em) ≥ 360px
.s-* @media screen and (min-width: 35.5em) ≥ 568px
.m-* @media screen and (min-width: 48em) ≥ 768px
.l-* @media screen and (min-width:64em) ≥ 1024px
.xl-* @media screen and (min-width: 80em) ≥ 1280px

Nested grids


.s-4
.s-4
.s-9
.s-3
.s-6
.s-4
.s-2
.s-2
.s-1
.s-1
.s-4
.s-4
.s-5
.s-3

Column gaps and show/hide


Use .xs0 to hide 1th column on screens ≥ 360px.
Use .s-6 to show it and make it 6x wide on screens ≤ 568px
Use .s-gap-1 to make 4th column 1x gap, and .l-gap-0 to clear it.

#1
.col .xs0.s-6 .m0 .l-3
#2
.col .xs-5 .s-4 .m-7 .l-3
#3
.col .xs-3 .s-2 .m-2 .l-4
#4
.col .xs-4 .s-11 .s-gap-1 .m-2 .l-2 .l-gap-0

Column order


Use .rtl on .grid to reverse columns
#1
#2

Grid align


Use .grid_l or .grid_r or .grid_c to align columns
grid_l
grid_l
grid_l
grid_r
grid_r
grid_r
grid_c
grid_c
grid_c

Spacers


s-marg

Forms


Forms is builded on the same .grid .col system, and additional .form class. It can be applied to whole form or any .grid inside it. ( .form class affecting on all inner.col blocks)
.col class can be applied directly on inputs, selects and textareas. It works fine with simple one line forms:


We don`t use "stacked", "inline", "aligned" and any other special form types like Bootstrap & other frameworks does.
Because in real world the same form looks different on various devices.
So "inline" form on a wide screen must automatically transfom into "stacked" one on 4.5" phone.
We can easily adapt our forms for any device using .grid & .col classes.

Field & buttons sizes


div as button

Select


We use standart HTML select with appearance: none; rule. and .svg arrow background.

Textarea


Use .v_top class on label for correct vertical-align relative to textarea.

Form groups & form rows


.form_group and .form_line can contain any textual inputs, buttons and selects.
Also .form_group can contain textareas.
We can change buttons and fields color by adding a color class like .clr_ok to any element in .form_group

div as button






Button 1
Button 2
Button 3


Button 1
Button 2
Button 3

Buttons


Types

.btn._raw
.btn._teal._raw
.btn._teal..\.\.\.
.btn._teal.-_-
.btn._teal.__
.btn._teal
.btn._teal._rnd
.btn._teal._rnd2x

Sizes

.btn.h8
.btn.h7
.btn.h6
.btn
.btn.h5
.btn.h4
.btn.h3
.btn.h2
.btn.h1

Colors

Base colors

Fill color

.btn._red
.btn._pink
.btn._orange
.btn._yell
.btn._indigo
.btn._purple
.btn._deep_purple
.btn._green
.btn._teal
.btn._salad
.btn._lime
.btn._brown
.btn._blue
.btn._light_blue
.btn._cyan
.btn._gray
.btn._black
.btn._white

Outline buttons with .brdr class

.btn._red._brdr
.btn._pink._brdr
.btn._orange._brdr
.btn._yell._brdr
.btn._indigo._brdr
.btn._purple._brdr
.btn._deep_purple._brdr
.btn._green._brdr
.btn._teal._brdr
.btn._salad._brdr
.btn._lime._brdr
.btn._brown._brdr
.btn._blue._brdr
.btn._light_blue._brdr
.btn._cyan._brdr
.btn._gray._brdr
.btn._black._brdr
.btn._white._brdr

Color modifications

We using two color modifiers: ._light and ._dark

.btn._cyan._light
.btn._cyan
.btn._cyan._dark
.btn._cyan._light._brdr
.btn._cyan._brdr
.btn._cyan._dark._brdr

Disabled buttons
.btn..\.\.\.._off
.btn.-_-._off
.btn.__._off
.btn._teal._light._off
.btn._teal._off
.btn._teal._dark._off
.btn._light._brdr._off
.btn._brdr._off
.btn._dark._brdr._off


Sizes, icons etc.


.icon-phone
.icon-key
.icon-menu ._rtl
icon-gears

Tables


Table wthout any classes have no borders:

First Name Last name Year
Barton Fink 1991
Sundance Kid 1969
David Aaronson 1984

Adding outer border to table: ._brdr

First Name Last name Year
Barton Fink 1991
Sundance Kid 1969
David Aaronson 1984

Vertical borders table: ._brdr_v

First Name Last name Year
Barton Fink 1991
Sundance Kid 1969
David Aaronson 1984

Horizontal borders table: ._brdr_h

First Name Last name Year
Barton Fink 1991
Sundance Kid 1969
David Aaronson 1984

Also we can use any combinations of outher .brdr , horisontal ._brdr_v and vertical ._brdr_h borders. Or use ._brdr_full for fully bordered table.

First Name Last name Year
Barton Fink 1991
Sundance Kid 1969
David Aaronson 1984

Hover states

Use .tr_hover for tr hovering

First Name Last name Year
Barton Fink 1991
Sundance Kid 1969
David Aaronson 1984

Use .td_hover for td hovering

First Name Last name Year
Barton Fink 1991
Sundance Kid 1969
David Aaronson 1984

And CSS tables: .table._brdr._brdr

First Name
Last Name
Year
Barton
Fink
1991
Sundance
Kid
1969

Typography


Headings


Use <h1> - <h6> or .hdr.h1 - .hdr.h6 for headings.

<small> is used for secondary text.

H1 heading Secondary text
H2 heading Secondary text
H3 heading Secondary text
H4 heading Secondary text
H5 heading Secondary text
H6 heading Secondary text

Paragraphs and inline elements


Default font-size is 16px, with line-height of 1.4em

We use default for HTML5 inline elements: <strong>, <small>, <em>, <u>

Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis <strong> for bold text et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula.

Cum sociis natoque penatibus et magnis dis parturient montes, nascetur <small> for small text mus. <u> tag for underline ullamcorper nulla non metus auctor <em> for italic text. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla.

Alignment and text-transform


._txt_r for right aligned text

._txt_l for left aligned text

._txt_c for center aligned text

._txt_j for justify aligned text


._txt_lower for right aligned text

._txt_upper for right aligned text

._txt_caps for right aligned text

OL and UL


  1. li elements used in navigation (menus, crumbs etc.) and in content
  2. To separate their styles we use [class*="content"] li rule for style content elements
  3. So put your content into wrapper with content as classname or it`s part.

Blockquotes


Maecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit non mi porta gravida at eget metus. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit.

Butch Cassidy