Документация LMS версия 2026.09.180

Документация/Оформление/Якоря

Якоря

Якорь — стабильный атрибут data-lms на элементе, который человек называет словами: карточка курса, тело урока, шапка кабинета. По нему пишется свой CSS школы:

[data-lms="course-card"] { box-shadow: none; border-radius: 0; }
[data-lms="cabinet-tabbar"] { border-top: 2px solid var(--brand); }

Якорь — обязательство: мы его не переименовываем и не убираем. Вёрстку вокруг него меняем свободно.

Какие якоря есть #

Якорь Что это Где
[data-lms="cabinet-header"] Шапка кабинета Кабинет ученика: полоса со знаком школы, разделами и меню профиля
[data-lms="cabinet-tabs"] Разделы кабинета на компьютере «Курсы», «Мои покупки», «Поддержка» в шапке
[data-lms="cabinet-tabbar"] Нижняя панель кабинета на телефоне Кабинет уже 768 точек: разделы значками внизу
[data-lms="course-card"] Карточка курса Кабинет ученика: «Мои курсы»
[data-lms="lesson"] Урок Страница урока целиком — заголовок, содержимое, задание
[data-lms="lesson-body"] Содержимое урока Блоки урока читаемой ширины
[data-lms="page"] Страница школы Страницы из конструктора: лендинги, оферты, страницы продаж

Список конечный и растёт по правилу «экран, который трогают, получает якоря». Справочник сверяется с кодом при каждой сборке документации: якоря, которого нет в продукте, здесь не будет, и наоборот.

Почему не классы вёрстки #

Разметка собрана из утилитарных классов:

<h3 class="text-body font-medium text-fg">Название курса</h3>

Правило .text-body { font-size: 20px } поменяет размер везде, где встречается этот класс: в карточке курса, в подписи к платежу, в кнопке. А через месяц мы переверстаем карточку, поставим там другой класс — и оформление школы сломается при обновлении, молча: CSS не падает при неверном селекторе, он просто перестаёт применяться.

Поэтому наружу объявлено не то, из чего собрана вёрстка, а то, что мы намеренно сделали контрактом: переменные и якоря.

Атрибут, а не класс — намеренно. Класс можно случайно перебить утилитой и легко спутать со своим; атрибут виден как объявленный контракт и в разметке, и в CSS.

Один якорь — одна роль. Если элемент встречается в двух местах и должен настраиваться по-разному, это два якоря.

Чего якорем не сделать #

Спрятать элемент, у которого нет якоря, «подобранным» селектором технически можно, но это отложенная поломка: при обновлении правило перестанет находить элемент. Нужен якорь — напишите нам, какой элемент и зачем.

Эта страница в Markdown