@@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 |
<code> |
code |
Цитата. Далеко-далеко за словесными горами в стране. Далеко-далеко за словесными горами в стране.
Цитата. Далеко-далеко за словесными горами в стране. Далеко-далеко за словесными горами в стране.
Цитата. Далеко-далеко за словесными горами в стране. Далеко-далеко за словесными горами в стране.
// Блочный код
// Вторая строка
// Блочный код // Вторая строка
dl
представляет собой ассоциативный список, состоящий из нуля и более пар имя-значение. Варианты использования: глоссарий, диалог, анонсы новостей.Цитата. Далеко-далеко за словесными горами в стране. Далеко-далеко за словесными горами в стране.
Цитата. Далеко-далеко за словесными горами в стране. Далеко-далеко за словесными горами в стране.
Цитата. Далеко-далеко за словесными горами в стране. Далеко-далеко за словесными горами в стране.
Стилизация: теги (см. глобальные стили)
Имя | Поросёнок |
---|---|
Фамилия | Пётр |
Отчество | Баракович |
Имя | Фамилия | Отчество |
---|---|---|
Поросёнок | Пётр | Баракович |
Стилизация: БЭМ-блок .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 (включительно) и более узких }