1️⃣
Разметка
  • 1. 1. Введение
  • 1. 2. Введение в HTML
  • 1. 3. Подходы к разметке
  • 1. 4. Работа со спецификацией
  • 1. 5. Проверка валидности
  • 1. 6. Часто используемые теги и типовые ошибки
  • 1. 7. Методика семантической разметки
    • 1. 7. 1. Определяем DOCTYPE
    • 1. 7. 2. Шаг 1. Выделяем крупные смысловые блоки на каждой странице сайта
    • 1. 7. 3. Шаг 2. Размечаем в блоках крупные смысловые разделы
    • 1. 7. 4. Шаг 3. Выделяем заголовок всего документа и заголовки смысловых разделов
    • 1. 7. 5. Шаг 4. Размечаем мелкие элементы в смысловых разделах
    • 1. 7. 6. Шаг 5. Размечаем фразовые элементы
  • 1. 8. Использование тега br
  • 1. 9. DOCTYPE
  • 1. 10. Как работает атрибут target
  • 1. 11. Правильное использование ссылок и кнопок
  • 1. 12. Как делать пустые ссылки?
  • 1. 13. Как правильно скрывать элементы?
  • 1. 14. Когда применять список терминов (dl)?
  • 1. 15. Как использовать ссылки mailto: и tel:
  • 1. 16. Именование сущностей
  • 1. 17. Разметка по БЭМ
    • 1. 17. 1. Введение
    • 1. 17. 2. Предыстория
    • 1. 17. 3. Частые проблемы из-за неправильной CSS-архитектуры проекта
    • 1. 17. 4. Основные понятия
    • 1. 17. 5. Свод правил БЭМ-а
    • 1. 17. 6. БЭМ для CMS
    • 1. 17. 7. Названия классов по БЭМ
    • 1. 17. 8. БЭМ — это про компоненты
    • 1. 17. 9. Темизация
    • 1. 17. 10. Плюсы и минусы БЭМ
    • 1. 17. 11. Алгоритм выделения блоков
    • 1. 17. 12. Типовые интерфейсные решения
    • 1. 17. 13. Блоки и элементы
    • 1. 17. 14. Миксы блоков и элементов
    • 1. 17. 15. Модификаторы блоков и элементов
    • 1. 17. 16. Типовые ошибки
  • Дополнительные материалы
Powered by GitBook
On this page
  1. 1. 17. Разметка по БЭМ

1. 17. 1. Введение

Previous1. 17. Разметка по БЭМNext1. 17. 2. Предыстория

Last updated 1 year ago

Вы, наверное, ещё не знаете до конца, зачем же вам нужен БЭМ и что это такое.

БЭМ — это система «Блок — Элемент — Модификатор». Это один из подходов к компонентной вёрстке и одна из самых распространённых в мире методологий вёрстки (). Если вы планируете верстать в настоящем рабочем процессе, то вы наверняка столкнётесь с БЭМ или другими методологиями, возможно, основанными на БЭМ.

Что такое компонентная вёрстка?

Это такой подход к вёрстке, когда отдельные компоненты сайта создаются изолированно и могут использоваться в любом месте, вне зависимости от окружения и содержания.

Вот, например, у вас есть на сайте статистика. На главной странице она повествует о компании в целом, а на странице основного продукта — о его особенностях, и выглядят они чуть-чуть по-разному, но в общем — это одно и то же. И смысл компонентного подхода в том, чтобы эта статистика была совершенно независима от окружения (что вокруг неё? Нет разницы!) и могла использоваться и там, и тут без дополнительной разработки.

Основной принцип — как можно больше переиспользовать (re-use) код. Для этого стоит не верстать по нескольку раз одно и то же.

Почему так важно верстать компонентно?

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

Кто-то пришёл в проект с самого начала, кто-то присоединился позже. Что делать, если нужно исправить или дополнить какой-то участок? Какими методами искать? До компонентного подхода искали «на память». Кто-то помнил, где лежит этот кусок кода или тратил время на то, чтобы перелопатить весь стилевой файл или постараться найти все места, где используется искомое.

Но большие проекты лучше не привязывать к памяти отдельного разработчика, лучше, чтобы была какая-то системность, которую можно быстро объяснить новому сотруднику. Ещё лучше — если этот новый сотрудник заранее предполагает, что за система лежит в основе ресурса, тогда достаточно объяснить нюансы.

Впрочем, не очень большие проекты тоже лучше писать так, чтобы через год не было мучительно больно вспоминать, где и что написано, и почему так.

Какие есть методологии?

С самого начала у меня была какая-то тактика и я её придерживался. — Александр Несяев

Тут нужно сказать, что все, кого мы об этом спрашивали, говорили, что «нужно иметь какую-то методологию и придерживаться её». Так что посмотрим, каких методологий придерживаются чаще всего.

Это: , , , , .

Методологии вёрстки в действии

Почему именно БЭМ?

Да, почему не одна из других систем?

Во-первых, БЭМ всё ещё одна из самых популярных систем в мире.

Во-вторых, он всё-таки требует и довольно детальных объяснений, как и что делать, и рассказа о его философии, и тренировки.

В-третьих, мы сами его используем.

В-четвёртых, это именно система, достаточно разветвлённая и в полном своём формате описывающая не только имена классов, но и файловую систему, и метод написания CSS и JS, и подключение скриптов и стилевых файлов.

В общем, это такая концепция, освоение которой поможет впоследствии войти в почти любую методику без больших потерь, ведь вы научитесь работать с компонентным подходом и придерживаться одного подхода внутри всего проекта.

Если вам интересно посмотреть методологии вёрстки в действии, а не просто узнать их основные принципы, советуем заглянуть на этот .

вот тут есть статистика использования разных методологий
BEM
Atomic CSS (Utility-first CSS)
OOCSS
SMACSS
ITCSS
ресурс