dev

Примеры layout:

padding/margin calc

type
size

{{item.name.replace('--','')}}

var({{item.name}})
.{{item.css(type, '')}}
.{{item.css(type, dir)}}

Описание

# Установка, подключение

Установка в проект:
npm i goodt-framework-css --save
npm i less --save-dev
npm i less-loader --save-dev
Подключение в проекте:
// ваш <enty-point>.js
import 'goodt-framework-css/src/_all.less'
Stand-alone сборка:
npm run build

# Структура

Описание директории .src/
components/... набор компонентов
_all.less точка входа, собирает все части фреймворка воедино
_helpers.less набор вспомогательных примесей
_params.less основные параметры всего фреймворка, используются всеми частями фреймворка
grid.less отзывчивая flex сетка 5%, 1/12, 1/24
typography.less базовые стили, типографика
utility.less набор вспомогательных классов "утилит"

# Компоненты

Компонент условно делится на три части

[1] параметры параметры, которые использует компонент
[2] хуки встроенные в стили компонента хуки, которые позволяют внедрять кастомный стиль в то или иное правило компонента
[3] стиль стиль компонента, описывающий внешний вид компонента, используя параметры и хуки

Пример компонента

components/example.less
// [1] параметры, которые использует компонент
@example-font-size: .8rem;
@example-line-height: 1.5;
@example-padding: @spacer3 @spacer4;
@example-color: @color-white;
@example-background: @color-body;

// [2] хук, вызываемый в стиле компонента; позволяет переопределить стиль компонента
.hook-example() {}

// [3] стиль
.example {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    padding: @example-padding; // <-- использование параметров [1]
    color: @example-color;
    font-size: @example-font-size;
    line-height: @example-line-height;
    background: @example-background;
    .hook-example(); // <-- вставка хука [2]
}

# Кастомизация

Для кастомизации необходимо импортировать точку входа _all.less в свой .less файл, далее можно уже переопределить любой параметр фреймворка в тч элементов или компонентов; или переопределить стили используя хуки.
Пример: my-theme.less
// импорт фреймворка
@import './<путь>/_all.less';

// переопределяем базовые параметры, используемые всеми частями фреймворка из ~ params.less
@font-family: Helvetica, Arial, sans-serif;
@font-family-headings: Helvetica, Arial, sans-serif;
@font-size: 16px;

// переопределяем параметры конкретного компонента  ~ components/toast.less
@toast-font-size: 1rem;
// используем хук компонента ~ toast.less
.hook-toast() {
    display: inline-flex; // <-- переопределяет "display", который изначально в компоненте "inline-block"
}

# Система отступов

В фреймворке реализована система отступов, которая используется для задания padding и margin
Отступы разделены на две группы: @spacer и @spacer-layout. Отступы расчитываются от базового значения 16px
Таблица отступов
название значение итог
@spacer1 0.125 2px
@spacer2 0.25 4px
@spacer3 0.5 8px
@spacer4 0.75 12px
@spacer5 1 16px
@spacer6 1.5 24px
@spacer7 2 32px
@spacer8 2 40px
@spacer9 2 48px
@layout-spacer1 1 16px
@layout-spacer2 1.5 24px
@layout-spacer3 2 32px
@layout-spacer4 3 48px
@layout-spacer5 4 64px
@layout-spacer6 6 96px
@layout-spacer7 10 160px

# Responsive

Фреймворк позволяет делать отзывчивые (responsive) интерфейсы засчет наличия отзывчивой сетки и набора утилит и хелперов.
Отзывчивость достигается за счет деления всех разрешений экранов по ширине на условные группы — {viewport}.
Утилиты, css-классы, которые поддерживают работу с режимами отзывчивости помечены responsive и имеют базовый вид:
.{viewport}-{classname}

// например
.s-text-small

// где
// {viewport} — s
// {classname} — text-small
Для использования групп {viewport} в кастомных компонентах или классах используйте less хелпер .media
@import './<путь>/_helpers.less'
// пример использования .media хелпера
.my-class {
    font-size: 1rem;
}
.media(@viewport-s, .my-class {
    font-size: .9rem;
})

# Viewport

Как было сказано выше, все разрешения экранов разбиты по ширине на {viewport}; ниже показан их список.
less переменная название {viewport} ширина экрана приоритет
самый низкий
@viewport-xl xl 0 - 1280px отменяет default
@viewport-l l 0 - 1024px отменяет xl default
@viewport-m m 0 - 840px отменяет l xl default
@viewport-s s 0 - 640px отменяет m l xl default

# Css переменные

Ниже приведен список доступных css переменных фреймворка (элемента :root)
css переменная значение
{{item.name}}

# Less переменные

Ниже приведен список доступных less переменных фреймворка
core
переменная значение
@{{varName}}
components
{{compName}}
переменная значение
@{{varName}}

Типографика

В качестве базовой гарнитуры используется PT Root UI.
Подключение в проекте:
// ваш <enty-point>.js
import 'goodt-framework-css/fonts/regular/pt-root-ui-regular.css';
import 'goodt-framework-css/fonts/bold/pt-root-ui-bold.css';
В данном разделе показаны лишь базовые элементы типографики.
Дополнительные возможности по работе с текстом вы найдете в Text утилитах
код результат
<h1> .h1

h1

<h2> .h2

h2

<h3> .h3

h3

<h4> .h4

h4

.text-large .text-lead
text-large
.text-small
text-small
.text-xsmall
text-xsmall
<p> .p

Lorem ipsum dolor sit amet consectetur adipisicing elit. Natus, vel.

<blockquote>
Lorem ipsum dolor sit amet consectetur.
<pre> .pre
Lorem ipsum dolor sit amet consectetur.
<s> <del> .del
Lorem ipsum dolor sit amet consectetur adipisicing elit. Natus, vel.
<sup> .sup Lorem ipsum
<sub> .sub Lorem ipsum
<mark> .mark Lorem ipsum
<code> .code Lorem ipsum

Горизонтальная линия


<hr>

<hr class="dashed">

<hr class="dotted">

Списки

  • list item
  • list item
  • list item
    • list item
  1. list item
  2. list item
  3. list item
    1. list item
Если вам нужен список без стилизации, используйте класс .unstyled для элементов <ul>
  • list item
  • list item
  • list item
    • list item

Таблица

# Общее

Фреймворк не изменяет стили элемента <table>, что позволяет использовать таблицы с стандартными стилями, наряду с фреймворком.
Для применения стилей для таблиц используйте класс .table
Heading Heading Heading
Column Column Column

# Ширина колонок

Класс Описание
.w-{size} может применятся для элементов <th> <td>, задает ширину столбца; подробнее см. Width утилиты
.table-w-auto может применятся для элементов <th> <td>, задает минимальную ширину колонки, подстраиваясь под ширину ее контента; схоже с тем, как работает утилита .w-auto на других элементах
Auto Expand Size
Column Column Column

# Вертикальное выравнивание

По умолчанию ячейки выравниваются по верхнему краю top.
Для изменения выравнивания, используйте классы .table-vtop .table-vmid .table-vbot .table-vbase
Heading Heading Heading
Column
Column
Column
Column
Column
Column
Heading Heading Heading
Column
Column
Column
Column
Column
Column
Heading Heading Heading
Column
Column
Column
Column
Column
Column
Heading Heading Heading
Column
Column
Column
Column
Column
Column

# Границы

Для добавления границ у строк используйте класс .table-borders
Heading Heading Heading
Column Column Column
Column Column Column
Column Column Column

# Зебра

Для применения стиля "зебра" у строк, используйте класс .table-zebra
Heading Heading Heading
Column Column Column
Column Column Column
Column Column Column

# Подсветка

Для подсветки строка при наведении, используйте класс .table-hover
Heading Heading Heading
Column Column Column
Column Column Column
Column Column Column

# Responsive

Специальный режим responsive преобразует столбцы в строки в режиме s.
Для применения этого режима, используйте класс .table-responsive
Heading Heading Heading
Column Column Column
Column Column Column
Column Column Column

Сетка

# Общее

grid.less
Фреймворк использует flexbox для построения сетки.
Базовый вид сетки:

# Строка

Строки задаются классом .row. По умолчанию, строки задают отступы для колонок по вертикали и горизонтали.
Для отключения отступов используйте .row-collapse

# Колонка

Колонки задаются классом .col. Колонки должны быть непосредственными дочерними элементами строки .row.
По умолчанию колонки занимают максимально возможную ширину строки, равномерно деля общую ширину между другими колонками

# Вертикальное выравнивание

По умолчанию колонки занимаю всю высоту строки.
Для выравнивания колонок по вертикали используйте классы .col-vtop .col-vmid .col-vbot

# Ширина колонок

Класс .col-auto задает колонку, которая старается занять как можно меньше места по ширине, подстраиваясь под ее контент (режим shrink)
col-auto
col
col-auto
Ширина колонки задется классом .col-{size}, где {size} зависит от выбранной системы (см. таблицу ниже).
Система Описание {size}
5% сетка задается в %, изменяется от 5% - 100% с шагом в 5% (так же включает спец. размеры 33%, 66%) 5 10 15 ... 100 33 66
1/12 сетка задается дробью, изменяется от 1/12 - 12/12 с шагом 1/12 1-12 2-12 ... 12-12
1/24 сетка задается дробью, изменяется от 1/24 - 12/24 с шагом 1/24 1-24 2-24 ... 24-24
Примеры:
col-15
col-25
col-60
col-2-12
col-4-12
col-6-12
col-5-24
col-7-24
col-12-24
responsive
Для работы ширины в различных responsive режимах, используйте класс .{viewport}-col-{size}.
{viewport} название viewport
{size} размер колонки, в зависимости от выбранной вами системы

# Gap колонок

Gap колонок задется классом .row-gap-{1-9} или .row-gap-l{1-7} (см. таблицу ниже).
Класс Описание
.row-gap-{1-9} применяет горизонтальный и вертикальный gap размером @spacer{1-9}
.row-gap-l{1-7} применяет горизонтальный и вертикальный gap размером @spacer-layout{1-7}

Горизонтальный

Горизонтальный gap колонок задется классом .row-hgap-{1-9} или .row-hgap-l{1-7} (см. таблицу ниже).
Класс Описание
.row-hgap-{1-9} применяет gap размером @spacer{1-9}
.row-hgap-l{1-7} применяет gap размером @spacer-layout{1-7}
Примеры:

Вертикальный

Вертикальный gap колонок задется классом .row-vgap-{1-9} или .row-vgap-l{1-7} (см. таблицу ниже).
Класс Описание
.row-vgap-{1-9} применяет gap размером @spacer{1-9}
.row-vgap-l{1-7} применяет gap размером @spacer-layout{1-7}
Примеры:
hgap
vgap
<div class="row row-hgap-{{hgap}} row-vgap-{{vgap}}">...</div>

# Отступы колонок

Отступ колонки задается классом .push-{size}, где {size} зависит от выбранной системы (см. таблицу ниже).
Система Описание {size}
5% сетка задается в %, изменяется от 5% - 100% с шагом в 5% (так же включает спец. размеры 33%, 66%) 5 10 15 ... 100 33 66
1/12 сетка задается дробью, изменяется от 1/12 - 12/12 с шагом 1/12 1-12 2-12 ... 12-12
1/24 сетка задается дробью, изменяется от 1/24 - 12/24 с шагом 1/24 1-24 2-24 ... 24-24
Примеры:
push-5-12
push-14-24
responsive
Для работы отступов в различных responsive режимах, используйте класс .{viewport}-push-{size}.
{viewport} название viewport
{size} размер отступа, в зависимости от выбранной вами системы

# Дочерние сетки

Компоненты

# Alert

components/alert.less

Title

Body content

Стили

Для изменения стиля используйте классы .alert-success .alert-warn .alert-error

Title

Body content

Title

Body content

Title

Body content

# Avatar

components/avatar.less

Размеры

Для изменения размера используйте классы .avatar-{2-7}
примечание
Для закругления краев используйте утилиту .round (см. Misc утилиты)

# Badge

components/badge.less

Стили

Для изменения стиля кнопки используйте классы .badge-primary .badge-success .badge-warn .badge-error .badge-misc
badge badge badge badge badge badge
примечание
Для закругления краев используйте утилиту .round (см. Misc утилиты)

# Breadcrumbs

components/breadcrumbs.less

# Button

components/button.less

Стили

Для изменения стиля кнопки используйте классы .btn-primary .btn-success .btn-warn .btn-error .btn-misc .btn-outline .btn-ghost .btn-inline

Состояния

Для удобства .btn имеет спец. классы .hover .active .focus .disabled, повторяющие состояния :hover :active :focus :disabled.
примечание
Если вы используете для .btn отличные элементы от <button>, не забудьте, что для работы :focus состояния, необходимо указывать атрибут tabindex="0".
Используем элемент <a> для кнопки
button no focus :( button with focus

Размеры

Для задания размера используйте классы .btn-small и .btn-large

Многострочная кнопка

Для поддержки автоматической многострочности используйте класс .btn-wrap

С иконкой

Для использования иконок в кнопках используйте утилиту .icon
Button
Button

Кнопка-иконка

Если вам необходима кнопка только с иконкой, исспользуйте класс .btn-icon (его можно использовать с любым стилем) и утилиту .icon для иконок.
примечание
Для закругления краев используйте утилиту .round (см. Misc утилиты)

Загрузка

Для состояния "загрузка", исспользуйте класс .btn-loading (его можно использовать с любым стилем).

Группировка

Для группировки кнопок, исспользуйте класс .btn-group.

# Divider

components/divider.less

Позиционирование

Для вертикального отображения используйте класс .divider-vertical

Использование с сеткой

OR

# Dropdown

components/dropdown.less

Размер

Для уменьшения размера меню используйте класс .dropdown-small

Прокрутка

По умолчаниюdropdown имеет ограничение в 5 элементов в списке, после которого появится прокрутка.
Это кол-во можно изменить параметром, заданным в компоненте.

Кастомные элементы

dropdown позволяет интегрировать кастомные dom-элементы

Контейнер

В случаях, когда интерфейс нестандартный и список не подходит для реализации задачи, dropdown возможно использовать в качестве контейнера для других компонентов/интерфейсов используя .dropdown-content

# Header

components/header.less
Пример использования:

# Menu

components/menu.less

Размер

Для уменьшения размера меню используйте класс .menu-small

Иконки

Для иконок в пунктах меню можно использовать .icon и .mdi

Подменю

Для подменю используйте вложенное меню
Для отображения подменю слева используйте класс .menu-left

# Nav

components/nav.less

Горизонтальная навигация

Для горизонтальной навигации используйте класс .nav-horizontal

# Offcanvas

components/offcanvas.less
Offcanvas content
Открыть offcanvas
Используйте класс .active для открытия offcanvas

Позиционирование

Для отображения справа используйте класс .offcanvas-right
Offcanvas content
Открыть offcanvas

# Pagination

components/pagination.less

# Panel

components/panel.less

Title

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Modi numquam omnis repellat voluptate, est perferendis tempore quis minus molestias fugit.psum dolor sit amet, consectetur adipisicing elit. Voluptates repudiandae dolorem suscipit dolores quasi dolor, quos voluptas laudantium ipsum corporis.

# Popup

components/popup.less
Для того, чтобы сделать popup на всю ширину/высоту окна, используйте класс .popup-fixed

# Preloader

components/preloader.less

Цвета

Для изменения цвета можно использовать классы .color-{value} утилит

Размер

Размер прелоадера может быть задан при помощи .pad-{size} .pad-l{size} утилит

# Shim

components/shim.less
Компонент shim можно использовать как "ширму" для других компонентов или элементов
Пример использования с другими компонентами

Title

Lorem ipsum dolor sit amet consectetur adipisicing elit. Nobis sunt facilis voluptatibus eum officia veritatis nam, dolorum rem blanditiis placeat!

content

Цвет

Для изменения цвета shim-overlay, используйте классы .bg-{value} утилит
Пример использования совместно с компонентом preloader

Поведение

Для показа shim только при наведении мыши, используйте класс .shim-hover

# Sidebar

components/sidebar.less
Пример использования:

Размер

Для уменьшения размера sidebar используйте класс .sidebar-small

# Skeleton

components/skeleton.less
Пример использования:

Размер

Для изменения размера skeleton используйте классы .skeleton-small, .skeleton-large
Пример использования: макет карточки пользователя

# Tabs

components/tabs.less

Выравнивание

Для выравнивания используйте классы .tabs-center .tabs-right

На всю ширину

Если вы хотите, чтобы элементы списка занимали всю ширину, пропорционально кол-во элементов, используйте класс .tabs-grow

# Tile

components/tile.less

Title

Some content here

Соотношение сторон

Для сохранения соотношений сторон тайлов используйте классы .tile-1-1 .tile-2-1 .tile-4-3 .tile-16-9

1:1

2:1

4:3

16:9

# Toast

components/toast.less
Toast text

# Tooltip

components/tooltip.less
Tooltip text

Позиционирование

Для позиционирования используйте классы .tooltip-top .tooltip-bot .tooltip-left .tooltip-right
Tooltip top
Tooltip bottom
Tooltip left
Tooltip right

Элементы формы

Общее

components/form.less
Для стилизации всех элементов формы input select textarea фреймворк использует свои классы. Что изолирует стили и позволяет использовать данные элементы для кастомной стилизации, если это необходимо.

# Input

Для применения стилей input, используйте класс .input

Состояния

Размеры

Для изменения размера input, используйте классы .input-small .input-large

# Textarea

Для применения стилей textarea, используйте класс .textarea

Состояния

Размеры

Для изменения размера textarea, используйте классы .textarea-small .textarea-large

# Select

Для применения стилей select, используйте класс .select

Состояния

Размеры

Для изменения размера select, используйте классы .select-small .select-large

# Checkbox

Состояния

Размеры

Для изменения размера checkbox, используйте класс .checkbox-small

# Radio

Состояния

Размеры

Для изменения размера radio, используйте класс .radio-small

# Switch

Состояния

Размеры

Для изменения размера switch, используйте класс .switch-small

# Form-label

Используется для подписей к элеметам формы; используйте класс .form-label
Form label

Размеры

Для изменения размера form-label, используйте классы .form-label-xsmall .form-label-small .form-label-large
xsmall
small
normal
large

Sticky label

Для стиля sticky form-label используйте класс form-label-sticky
примечание
Так как form-label-sticky использует абсолютное позиционирование, вам необходимо использовать контейнер. В качестве контейнера вы можете использовать form-control.
label
label
label
label

Float label

Для стиля float form-label используйте класс form-label-float. Работает с элементами .input .textarea
примечание
Так как form-label-float использует абсолютное позиционирование, вам необходимо использовать контейнер. В качестве контейнера вы можете использовать form-control.
label
label
label
label

# Form-elem

Кастомный элемент формы, повтораяет все состояния элемента формы и позволяет использовать кастомный dom
Custom dom

Состояния

Custom dom
Custom dom
Custom dom
Custom dom
Custom dom
Custom dom

Размеры

Для изменения размера form-elem, используйте классы .form-elem-small .form-elem-large
small
normal
large

# Form-control

Обётка для элементов формы применяющая position: relative; display: inline-block;
Может быть использована в любых ваших целях.
Можно использоваться для добавления иконок для элементов input select form-elem

Иконки

Для добавления иконок в form-control используйте класс .form-control-icon-left .form-control-icon-right .form-control-icon-both вместе с утилитой .icon

Утилиты

Общее

utility.less
Утилиты — набор вспомогальных классов для модификации набора свойств. Утилиты могут быть использованы с dom-элементами и компонентами.

# Float

Утилиты для работы с float.
класс описание пример
responsive
.pull-left
.{viewport}-pull-left
применяет float: left
lorem ipsum
responsive
.pull-right
.{viewport}-pull-right
применяет float: right
lorem ipsum
responsive
.pull-center
.{viewport}-pull-center
применяет float: none; margin: 0 auto;
lorem ipsum
responsive
.pull-none
.{viewport}-pull-none
применяет float: none; margin: 0;

# Text

Утилиты для работы с текстом.
класс описание пример
.text-h1 применяет font-size элемента <h1>
Text
.text-h2 применяет font-size элемента <h2>
Text
.text-h3 применяет font-size элемента <h3>
Text
.text-h4 применяет font-size элемента <h4>
Text
responsive
.text-large .text-lead
.{viewport}-text-large .{viewport}-text-lead
применяет @font-size*1.125
Text
responsive
.text-small
.{viewport}-text-small
применяет @font-size*0.875
Text
responsive
.text-xsmall
.{viewport}-text-xsmall
применяет @font-size*0.75
Text
.text-left применяет text-align: left
Text
.text-right применяет text-align: right
Text
.text-center применяет text-align: center
Text
.text-justify применяет text-align: justify
Lorem ipsum, dolor sit amet consectetur adipisicing elit.
.text-italic применяет font-style: italic
Text
.text-bold применяет font-weight: bold
Text
.text-normal применяет font-weight: normal; font-style: normal
Text
.text-muted приглушает текст
Text
.text-truncate обрезает длинный текст
Lorem ipsum dolor sit amet consectetur adipisicing elit.
.text-upper преобразуем текст в большим буквам
This text was written in a normal case.
.text-nowrap nobr применяет white-space: nowrap
.break-word разрешает перенос текста по словам
.lh-1 применяет line-height: 1

# Color

Утилиты для работы с цветом. Данные утилиты применяют свойство color
класс пример
.color-black text
.color-body text
.color-primary text
.color-link text
.color-red .color-invalid .color-required text
.color-green .color-valid text
.color-yellow text
.color-orange text
.color-grey text
.color-grey-dark text
.color-grey-light text
.color-grey-lighter text
.color-muted text
.color-white text
.color-disabled text
.color-disabled-dark text
.color-border text
.color-transparent text
.color-inherit text

# Background

Утилиты для работы с цветом. Данные утилиты применяют свойство background-color
класс пример
.bg-black
.bg-body
.bg-primary
.bg-link
.bg-red .bg-invalid .bg-required
.bg-green .bg-valid
.bg-yellow
.bg-orange
.bg-grey
.bg-grey-dark
.bg-grey-light
.bg-grey-lighter
.bg-muted
.bg-white
.bg-disabled
.bg-disabled-dark
.bg-border
.bg-transparent
.bg-inherit

# Vertical align

Утилиты для работы с вертикальным выравнивание inline элементов. Данные утилиты применяют свойство vertical-align
класс описание
.v-top применяет vertical-align: top
.v-mid применяет vertical-align: middle
.v-bot применяет vertical-align: bottom
.v-base применяет vertical-align: baseline
.v-inherit применяет vertical-align: inherit

# Padding

Утилиты для работы с отступами элементов. Данные утилиты применяют свойство padding
Утилиты используют сис-му отступов @spacer @spacer-layout фреймворка (см. Система отступов)
класс описание
.pad-none применяет padding: 0
.pad-v-none применяет padding-top: 0; padding-bottom: 0;
.pad-h-none применяет padding-left: 0; padding-right: 0;
.pad-left-none применяет padding-left: 0
.pad-right-none применяет padding-right: 0
.pad-top-none применяет padding-top: 0
.pad-bot-none применяет padding-bottom: 0
.pad-{1-9} применяет padding: @spacer{1-9}
.pad-v-{1-9} применяет padding-top: @spacer{1-9}; padding-bottom: @spacer{1-9}
.pad-h-{1-9} применяет padding-left: @spacer{1-9}; padding-right: @spacer{1-9}
.pad-left-{1-9} применяет padding-left: @spacer{1-9}
.pad-right-{1-9} применяет padding-right: @spacer{1-9}
.pad-top-{1-9} применяет padding-top: @spacer{1-9}
.pad-bot-{1-9} применяет padding-bottom: @spacer{1-9}
.pad-l{1-7} применяет padding: @spacer-layout{1-7}
.pad-v-l{1-7} применяет padding-top: @spacer-layout{1-7}; padding-bottom: @spacer-layout{1-7}
.pad-h-l{1-7} применяет padding-left: @spacer-layout{1-7}; padding-right: @spacer-layout{1-7}
.pad-left-l{1-7} применяет padding-left: @spacer-layout{1-7}
.pad-right-l{1-7} применяет padding-right: @spacer-layout{1-7}
.pad-top-l{1-7} применяет padding-top: @spacer-layout{1-7}
.pad-bot-l{1-7} применяет padding-bottom: @spacer-layout{1-7}

# Margin

Утилиты для работы с отступами элементов. Данные утилиты применяют свойство margin
Утилиты используют сис-му отступов @spacer @spacer-layout фреймворка (см. Система отступов)
класс описание
.mar-none применяет margin: 0
.mar-v-none применяет margin-top: 0; margin-bottom: 0
.mar-h-none применяет margin-left: 0; margin-right: 0
.mar-left-none применяет margin-left: 0
.mar-right-none применяет margin-right: 0
.mar-top-none применяет margin-top: 0
.mar-bot-none .last .end применяет margin-bottom: 0
.mar-auto применяет margin: auto
.mar-v-auto применяет margin-top: auto; margin-bottom: auto
.mar-h-auto применяет margin-left: auto; margin-right: auto
.mar-left-auto применяет margin-left: auto
.mar-right-auto применяет margin-right: auto
.mar-top-auto применяет margin-top: auto
.mar-bot-auto применяет margin-bottom: auto
.mar-{1-9} применяет margin: @spacer{1-9}
.mar-v-{1-9} применяет margin-top: @spacer{1-9}; margin-bottom: @spacer{1-9}
.mar-h-{1-9} применяет margin-left: @spacer{1-9}; margin-right: @spacer{1-9}
.mar-left-{1-9} применяет margin-left: @spacer{1-9}
.mar-right-{1-9} применяет margin-right: @spacer{1-9}
.mar-top-{1-9} применяет margin-top: @spacer{1-9}
.mar-bot-{1-9} применяет margin-bottom: @spacer{1-9}
.mar-l{1-7} применяет margin: @spacer-layout{1-7}
.mar-v-l{1-7} применяет margin-top: @spacer-layout{1-7}; margin-bottom: @spacer-layout{1-7}
.mar-h-l{1-7} применяет margin-left: @spacer-layout{1-7}; margin-right: @spacer-layout{1-7}
.mar-left-l{1-7} применяет margin-left: @spacer-layout{1-7}
.mar-right-l{1-7} применяет margin-right: @spacer-layout{1-7}
.mar-top-l{1-7} применяет margin-top: @spacer-layout{1-7}
.mar-bot-l{1-7} применяет margin-bottom: @spacer-layout{1-7}

# Display

Утилиты для работы с свойством display
класс описание
.d-flex применяет display: flex
.d-inline-flex применяет display: inline-flex
.d-inline-block применяет display: inline-block
.d-inline применяет display: inline
.d-block применяет display: block
responsive
.show
.{viewport}-show
применяет display: block
responsive
.hide
.{viewport}-hide
применяет display: none
.invisible
применяет visibility: hidden

# Flex

Утилиты для работы с flex элементами.
класс описание
.flex-col применяет flex-direction: column, применяется к flex элементу
.flex-center применяет align-items: center и justify-content: center
.flex-h-center применяет горизонтальное выравнивание дочерних элементов по центру justify-content: center, применяется к flex элементу
.flex-h-stretch применяет justify-content: stretch
.flex-h-space-between применяет justify-content: space-between
.flex-h-space-evenly применяет justify-content: space-evenly
.flex-h-space-around применяет justify-content: space-around
.flex-h-start применяет justify-content: flex-start
.flex-h-end применяет justify-content: flex-end
.flex-v-center применяет вертикальное выравнивание дочерних элементов по центру align-items: center, применяется к flex элементу
.flex-v-stretch применяет align-items: stretch
.flex-v-baseline применяет align-items: baseline
.flex-v-space-between применяет align-content: space-between
.flex-v-space-evenly применяет align-content: space-evenly
.flex-v-space-around применяет align-content: space-around
.flex-v-start применяет align-content: flex-start
.flex-v-end применяет align-content: flex-end
.flex-wrap применяет flex-wrap: wrap
.flex-nowrap применяет flex-wrap: nowrap
.flex-grow применяет flex-grow: 1, применяется к дочерним элементам flex элемента
.flex-shrink применяет flex-shrink: 1, применяется к дочерним элементам flex элемента
Пример: выравнять элемент по вертикали и горизонтали по центру
Пример: header, footer фикс размера; content — занимает оставшееся место
header
content
footer

# Position

Утилиты для работы с position.
класс описание
.pos-abs применяет position: absolute
.pos-rel применяет position: relative
.pos-fixed применяет position: fixed
.pos-sticky применяет position: sticky
.pos-static применяет position: static

Позиционирование x,y

.pos-right
.pos-left
.pos-top
.pos-bot
.pos-top-left
.pos-top-center
.pos-top-right
.pos-bot-left
.pos-bot-center
.pos-bot-right
.pos-left-center
.pos-right-center
.pos-center

Позиционирование offset

.pos-offset-left .pos-offset-right .pos-offset-top .pos-offset-bot ×

# Width

Утилиты для работы с шириной элементов. Данные утилиты применяют свойство width.
класс описание
responsive
.w-{size}
.{viewport}-w-{size}
применяет ширину {size}, которая зависит от выбранной системы (см. таблицу ниже)
Система Описание {size}
5% сетка задается в %, изменяется от 5% - 100% с шагом в 5% (так же включает спец. размеры 33%, 66%) 5 10 15 ... 100 33 66
1/12 сетка задается дробью, изменяется от 1/12 - 12/12 с шагом 1/12 1-12 2-12 ... 12-12
1/24 сетка задается дробью, изменяется от 1/24 - 12/24 с шагом 1/24 1-24 2-24 ... 24-24
Пример
w-25
w-6-12
w-19-24
Ресайзите окно браузера
viewport width
* w-6-12
XL w-8-12
L w-10-12
M w-11-12
S w-12-12

Фиксированная ширина

Для задания фиксированной ширины используйте класс .w-f{size}, где {size} принимает значения:
{size} less переменная ширина (px)
1 @width-fixed1 128
2 @width-fixed2 256
3 @width-fixed3 384
4 @width-fixed4 512
5 @width-fixed5 640
6 @width-fixed6 768
7 @width-fixed7 896
w-f1
w-f2
w-f3
w-f4
w-f5
w-f6
w-f7

Фиксированная min/max ширина

Для задания фиксированной минимальной или максимальной ширины используйте классы .min-w-f{size} и .max-w-f{size}, где {size} принимает значения по аналогии с .w-f{size}

# Height

Утилиты для работы с высотой элементов. Данные утилиты применяют свойство height.
класс описание
.h-auto применяет height: auto
.h-100 применяет height: 100%
.h-100v применяет height: 100vh

Фиксированная min/max высота

Для задания фиксированной минимальной или максимальной высоты используйте классы .min-h-f{size} и .max-h-f{size}, где {size} принимает значения по аналогии с .w-f{size}

# Layout

Утилиты для вертски.
класс описание
.section применяет отступ margin-bottom: @spacer-layout5
.block применяет отступ margin-bottom: @spacer-layout3
.p применяет отступ margin-bottom: @spacer-layout1
.container контейнер 100% ширины (но не более @container-max-width), выровненный по центру
.cf .clear cleafix хак, для устранения проблем с float элементами

# Scroll

Утилиты для работы со скролом элементов. Данные утилиты применяют свойство overflow.
класс описание
.scroll-hide .noscroll применяет overflow: hidden
.scroll-x применяет overflow-x: auto
.scroll-y применяет overflow-y: auto

# Events

Утилиты для работы с свойством pointer-events.
класс описание
.events-none применяет pointer-events: none
.events-all применяет pointer-events: all

# Cursor

Утилиты для работы с свойством cursor.
класс описание
.cursor-auto применяет cursor: auto
.cursor-default применяет cursor: default
.cursor-pointer применяет cursor: pointer
.cursor-help применяет cursor: help

# Filter

Утилиты для работы с свойством filter.
класс описание пример
.filter-blur применяет filter: blur(5px)
.filter-grayscale применяет filter: grayscale(1)
.filter-invert применяет filter: invert(1)

# Object

Утилиты для работы с свойством object-fit.
класс описание
.obj-contain применяет object-fit: contain
.obj-cover применяет object-fit: cover

# Misc

Прочие утилиты.
класс описание пример
.thumb .thumbnail применяет рамку для предпросмотра
.responsive задает max-width: 100%; height: auto применимо к <img> <video>
.round полностью закругляет края элемента
.radius-none убирает закругления краев элемента
.radius .radius-{1-5} закругляет края элемента, согласно заданным параметрам фреймворка (4px, 8px, 16px, 32px, 64px)
.shadow-none убирает тень элемента
.shadow .shadow-{1-5} задает тень элемента, согласно заданным параметрам фреймворка
.icon .icon .icon-2 .icon .icon-3 спец. flex контейнер для иконок
.close close
.link ссылка интерактивная (предполагает открытие ui элемента типа popup например) Lorem ipsum
.u-select-none .u-select-all .u-select-text применяет user-select: none | all | text
.ui-muted применяет opacity
Sample text
.border-none применяет border: none

Иконки

Фреймворк предполагает использование веб-шрифт MDI для иконок совместно с .icon .color-{value} утилитами (см. Color утилиты Misc утилиты).
Установка:
npm install @mdi/font --save
npm install @mdi/light-font --save
Подключение:
// ваш <entry-point>.js
import '@mdi/font/css/materialdesignicons.min.css';
import '@mdi/light-font/css/materialdesignicons-light.min.css'
Использование:

404

Такого раздела пока нет в документации