@@include('_include/page_head.html')
@@include('blocks/page-header/page-header.html')Стартовое состояние проекта содержит ряд блоков и глобальных стилей, описанных и показанных в этом файле. Если некоторые блоки не работают, значит импорт их стилей отключен в файле диспетчера подключений.
Стилизация: теги (см. глобальные стили)
Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные ссылки. Грустный предупредила, дал приставка составитель решила подпоясал запятых сих ручеек которой власти до, над жизни возвращайся силуэт что не курсивных.
Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Грустный предупредила, дал приставка составитель решила подпоясал запятых сих ручеек которой власти до, над жизни возвращайся силуэт что не курсивных.
Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Грустный предупредила, дал приставка составитель решила подпоясал запятых сих ручеек которой власти до, над жизни возвращайся силуэт что не курсивных.
Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Грустный предупредила, дал приставка составитель решила подпоясал запятых сих ручеек которой власти до, над жизни возвращайся силуэт что не курсивных.
Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Грустный предупредила, дал приставка составитель решила подпоясал запятых сих ручеек которой власти до, над жизни возвращайся силуэт что не курсивных.
Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Грустный предупредила, дал приставка составитель решила подпоясал запятых сих ручеек которой власти до, над жизни возвращайся силуэт что не курсивных.
Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Грустный предупредила, дал приставка составитель решила подпоясал запятых сих ручеек которой власти до, над жизни возвращайся силуэт что не курсивных.
Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Грустный предупредила, дал приставка составитель решила подпоясал запятых сих ручеек которой власти до, над жизни возвращайся силуэт что не курсивных.
Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Грустный предупредила, дал приставка составитель решила подпоясал запятых сих ручеек которой власти до, над жизни возвращайся силуэт что не курсивных.
Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Грустный предупредила, дал приставка составитель решила подпоясал запятых сих ручеек которой власти до, над жизни возвращайся силуэт что не курсивных.
div с классом .p. Далеко-далеко за словесными горами в стране, гласных и согласных живут рыбные тексты. Грустный предупредила, дал приставка составитель решила подпоясал запятых сих ручеек которой власти до, над жизни возвращайся силуэт что не курсивных.<a> |
ссылка, внешний вид |
<strong> |
действительно значимый текст |
<b> |
просто выделенный текст, лид |
<i> |
иностранное слово или термин |
<em> |
эмфатическое ударение |
<s> |
|
<del> |
|
<ins> |
изменение, внесённое в документ (добавление) |
<mark> |
акцент маркерным выделением |
<small> |
малозначимый текст |
<abbr> |
АББРЕВИАТУРА |
<kbd> |
Ctrl + C |
<sup> |
23 |
<sub> |
H2O |
Цитата. Далеко-далеко за словесными горами в стране. Далеко-далеко за словесными горами в стране.
Строчный код: <section>
// Блочный код
// Вторая строка
Стилизация: теги (см. глобальные стили)
| Имя | Поросёнок |
|---|---|
| Фамилия | Пётр |
| Отчество | Баракович |
| Имя | Фамилия | Отчество |
|---|---|---|
| Поросёнок | Пётр | Баракович |
Стилизация: БЭМ-блок .table-responsive
Внимание! Адаптивные таблицы требуют добавления дата-атрибутов. Фиксация минимальной ширины имитатора th будет полезной (делается индивидуально).
Приоритетным является не использование класса .table-responsive, а использование семантических БЭМ-классов и LESS-примеси .table-responsive(sm); (принимает в себя значение той ширины вьюпорта, на которой таблица ещё адаптивна).
Стилизация: теги (см. глобальные стили)
Стилизация: БЭМ-блоки и модификаторы. Опирается на стилизацию форм по умолчанию.
TODO
Стилизация: БЭМ-блок .btn и модификаторы.
Приоритетным является подход, в котором используются LESS-примеси .btn(), .btn-color(цвет_текста; цвет_фона; цвет_бордюра) и .btn-size([sm|md|lg]).
Cсылка (lg) Cсылка Cсылка (sm)
Свойства:
ul или div с произвольным содержимым.
<span role="presentation" class="dropdown" id="test">
<a href="#" class="dropdown__toggler" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Ссылка с выпадающим элементом</a>
<ul class="dropdown__menu" aria-labelledby="qwer">
<li><a href="#">Пункт списка (выпадает <code>ul</code>)</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li><a href="#">Separated link</a></li>
</ul>
</span>
// Факт открытия
$('#test').on('shown.nth.dropdown', function () {
console.log('shown.nth.dropdown');
});
// Факт закрытия
$('#test').on('hidden.nth.dropdown', function () {
console.log('hidden.nth.dropdown');
});
Ширины, на которых возможна перестройка блоков проекта:
| Переменная | Ширина в px по умолчанию | ID сетки, начинающей срабатывать |
|---|---|---|
@screen-xs |
0 | XS |
@screen-sm |
480 | SM |
@screen-md |
768 | MD |
@screen-lg |
992 | LG |
@screen-xl |
1200 | XL |
@screen-xxl |
1800 | XXL |
Стилизация: БЭМ-блоки .row, .col-[ID]-[COL], .col-[ID]-offset-[COL]
Возможные ID сетки: xs, sm, md, lg, xl, xxl (xxl по умолчанию закомментированы). Вдохновлено Bootstrap 4.
.col-xs-12 .col-sm-6 .col-md-4 .col-lg-3
.col-xs-12 .col-sm-6 .col-md-4 .col-lg-3
.col-xs-12 .col-sm-6 .col-md-4 .col-lg-3
.col-xs-12 .col-sm-6 .col-md-4 .col-lg-3
.col-md-2 .col-lg-3
.col-md-10 .col-md-offset-1 .col-lg-9
Приоритетным является подход, в котором вместо упомянутых классов модульной сетки используются семантические БЭМ-овские классы и LESS-примеси (см. файл с примесями).
С примесями можно сделать модульную сетку любой колоночности (на разных ширинах может быть разноколоночная сетка), с любым промежутком между ячейками (на разных ширинах могут быть разные промежутки).
Вызов примеси .col(xs, 12); (возможно, не 12, а какое-то своё кол-во колонок) обязателен для элементов, являющихся прямыми потомками родителя модульной сетки.
.block-name {
.row(); // БЭМ-блок — обёртка элементов модульной сетки
&__element {
// Разные ширины элемента на разных вьюпортах
.col(xs, 6);
.col(sm, 5);
.col(md, 4);
.col(lg, 3);
.col(xl, 2);
.col(xxl, 1);
}
}
.block-name {
// в примесь можно передать ширину промежутка между ячейками
.row(10px);
&__first-element {
// xs-сетка, 6 колонок из @grid-columns (12 по умолчанию),
// промежутки 10px
.col(xs, 6, @grid-columns, 10px);
}
}
Максимально подробный пример:
.root {
// При указании переменных подряд имена можно не писать, оставлены для наглядности
// @xs-grid-gutter: 1rem; // XS-ширина: указан промежуток между ячейками сетки
// @sm-grid-gutter: 1.8rem;// SM-ширина: указан промежуток между ячейками сетки
// @md-grid-gutter: 2rem; // MD-ширина: указан промежуток между ячейками сетки
// @lg-grid-gutter: 3rem; // LG-ширина: указан промежуток между ячейками сетки
// @xl-grid-gutter: 4rem; // XL-ширина: указан промежуток между ячейками сетки
// @xxl-grid-gutter: 5rem; // XXL-ширина: указан промежуток между ячейками сетки
// Короткая форма указания промежутков для всех ширин:
// 1rem; 1.8rem; 2rem; 3rem; 4rem; 5rem
.row(
@xs-grid-gutter: 1rem;
@sm-grid-gutter: 1.8rem;
@md-grid-gutter: 2rem;
@lg-grid-gutter: @grid-gutter-width;
@xl-grid-gutter: 4rem;
@xxl-grid-gutter: 5rem;
);
&__cuprum {
// Для каждого вызова примеси указан промежуток между колонками (совпадает с тем, что у соответствующего вызова .row() для родительского элемента)
.col(xs, 1, 2, 1rem); // XS-ширина, 1 колонка в 2-колоночной сетке
.col(sm, 2, 5, 1.8rem); // SM-ширина, 2 колонки в 5-колоночной сетке
.col(md, 2, 8, 2rem); // MD-ширина, 2 колонки в 8-колоночной сетке
.col(lg, 2, @grid-columns, @grid-gutter-width); // LG-ширина, 2 колонки в 12-колоночной сетке (если @grid-columns оставлена по умолчанию)
.col(xl, 3, 10, 4rem); // XL-ширина, 3 колонки в 10-колоночной сетке
}
&__aurum {
.col(xs, 1, 2, 1rem);
.col(sm, 3, 5, 1.8rem);
.col(md, 6, 8, 2rem);
.col(lg, 10, @grid-columns, @grid-gutter-width);
.col(xl, 7, 10, 4rem);
}
}
Реальный пример 1:
.root {
// Промежуток между колонками будет отличаться только на XS-ширине, это первый
// ожидаемый примесью параметр, указываем только его.
.row(1rem);
&__cuprum {
.col(xs, 1, 2, 1rem); // 1 из 2, нужно указать измененный для .row() промежуток
.col(sm, 4); // начиная с SM — 4 из 12 (12 по умолчанию, можно не указывать)
.col(md, 3); // начиная с MD — 3 из 12 (12 по умолчанию, можно не указывать)
}
&__aurum {
.col(xs, 1, 2, 1rem);
.col(sm, 8);
.col(md, 9);
}
}
Реальный пример 2:
.root {
.row(); // Промежуток везде одинаковый (берется из переменной)
&__cuprum {
// Пока вьюпорт не стал равен или шире MD, блок 100% ширины родителя
.col(xs, 12); // по умолчанию — 12 из 12 (обязательный вызов примеси)
.col(md, 3); // начиная с MD — 3 из 12
}
&__aurum {
// Пока вьюпорт не стал равен или шире MD, блок 100% ширины родителя
.col(xs, 12); // по умолчанию — 12 из 12 (обязательный вызов примеси)
.col(md, 9); // начиная с MD — 9 из 12
}
}
Стилизация: нет, только примеси.
К нужным элементам добавляем примеси, элементы скрываются на тех или иных ширинах вьюпорта.
В примесях указано только значение display: none;, без !important.
.block-name {
.hidden-up(lg); // Скрыть на LG (включительно) и более широких
.hidden-down(sm); // Скрыть на SM (включительно) и более узких
}