Содержание
Основные понятия / Методология / БЭМ
Блок
Элемент
Модификатор
БЭМ-сущность
Микс
БЭМ-дерево
Реализация блока
Технология реализации блока
Переопределение блока
Уровень переопределения
Блок
Логически и функционально независимый компонент страницы, аналог компонента в Web Components. Блок инкапсулирует в себе поведение (JavaScript), шаблоны, стили (CSS) и другие технологии реализации. Независимость блоков обеспечивает возможность их повторного использования, а также удобство в разработке и поддержке проекта.
Возможности блоков:
Вложенная структура
Свободное перемещение
Повторное использование
Вложенная структура
Блоки можно вкладывать в любые другие блоки.
Например, блок head
может содержать логотип (logo
), форму поиска (search
) и блок авторизации (auth
).
Свободное перемещение
Блоки можно перемещать в пределах одной страницы и разных проектов. Независимость блока позволяет изменять его положение на странице и обеспечивает корректную работу и внешний вид.
Так, например, логотип и форму авторизации можно поменять местами. При этом вносить изменения в CSS или JavaScript-код блоков не нужно.
Повторное использование
В интерфейсе может одновременно присутствовать несколько экземпляров одного и того же блока.
Элемент
Составная часть блока, которая не может использоваться в отрыве от него. Элементы не существуют вне блока. Каждый элемент может принадлежать только одному блоку.
Например, пункт меню вне блока меню не используется, значит является его элементом.
Когда создавать блок, когда элемент?
Можно ли в методологии БЭМ создавать элементы элементов?
Модификатор
БЭМ-сущность, определяющая внешний вид, состояние и поведение блока или элемента.
Использование модификаторов опционально, количество — неограничено. Блоку или элементу нельзя одновременно присвоить разные значения модификатора.
По своей сути модификаторы похожи на атрибуты в HTML. Один и тот же блок выглядит по-разному благодаря применению модификатора.
Например, внешний вид блока меню (menu
) может меняться в зависимости от примененного модификатора.
Модификаторы могут изменяться в процессе работы блока (например, как реакция на DOM-события блока) и по запросу из других блоков.
Например, при клике по кнопке Sign In
(DOM-событие click), в случае неверно заполненных полей Login
или Password
, на скрытый блок сообщений об ошибках устанавливается модификатор (visible
).
БЭМ-сущность
БЭМ-сущностями называются блоки, элементы и модификаторы.
Это понятие может применяться как частное, если рассматривается отдельная БЭМ-сущность, и как собирательное для блоков, элементов и модификаторов.
Микс
Способ использования разных БЭМ-сущностей на одном DOM-узле.
Миксы позволяют:
совмещать поведение и стили нескольких БЭМ-сущностей без дублирования кода;
создавать семантически новые компоненты интерфейса на основе имеющихся БЭМ-сущностей.
Рассмотрим пример микса блока и элемента другого блока.
Допустим, в проекте ссылки реализованы блоком link
. Необходимо сделать ссылками пункты меню. Существует несколько способов:
Создать модификатор для пункта меню, который превратит пункт в ссылку. Но в таком случае для реализации модификатора придется скопировать поведение и стили блока
link
. Это приведет к дублированию кода.Воспользоваться миксом универсального блока
link
и элементаlink
блокаmenu
. Микс двух БЭМ-сущностей позволит применить базовую функциональность ссылок из блокаlink
и дополнительные CSS-правила из блокаmenu
без копирования кода.
БЭМ-дерево
Представление структуры веб-страницы в терминах блоков, элементов и модификаторов. Это абстракция над DOM-деревом, которая описывает имена БЭМ-сущностей, их состояния, порядок, вложенность и вспомогательные данные.
В реальных проектах БЭМ-дерево можно выразить любым форматом, который поддерживает древовидную структуру.
Рассмотрим пример DOM-дерева:
<header> <img> <form> <input> <button></button> </form> <ul> <li> <a href="url">en</a> </li> <li> <a href="url">ru</a> </li> </ul> </header>
Ему соответствует такое БЭМ-дерево:
header logo search-form input button lang-switcher lang-switcher__item lang-switcher__link lang-switcher__item lang-switcher__link
Это же БЭМ-дерево будет иметь следующий вид в форматах XML и BEMJSON:
XML
<block:header> <block:logo/> <block:search-form> <block:input/> <block:button/> </block:search-form> <block:lang-switcher> <elem:item> <elem:link/> </elem:item> <elem:item> <elem:link/> </elem:item> </block:lang-switcher> </block:header>
BEMJSON
{ block: 'header', content : [ { block : 'logo' }, { block : 'search-form', content : [ { block : 'input' }, { block : 'button' } ] }, { block : 'lang-switcher', content : [ { elem : 'item', content : [ { elem : 'link' } ] }, { elem : 'item', content : [ { elem : 'link' } ] } ] } ] }
Реализация блока
Набор различных технологий, определяющих следующие особенности БЭМ-сущности:
поведение;
внешний вид;
тесты;
шаблоны;
документацию;
описание зависимостей;
дополнительные данные (например, картинки).
Технология реализации
Технология, которая используется для реализации блока.
Блоки могут быть реализованы в одной или нескольких технологиях, например:
поведение — JavaScript, CoffeeScript;
внешний вид — CSS, Stylus, Sass;
шаблоны — Pug, Handlebars, XSL, BEMHTML, BH;
документация — Markdown, Wiki, XML.
Например, если внешний вид блока задан с помощью CSS, это означает, что блок реализован в технологии CSS. А если документация к блоку написана в формате Markdown — блок реализован в технологии Markdown.
Переопределение блока
Изменение реализации блока путем добавления ему новых особенностей на другом уровне.
Уровень переопределения
Набор БЭМ-сущностей и их частичных реализаций.
Конечная реализация блока может быть разделена по разным уровням переопределения. Каждый последующий уровень добавляет или перекрывает исходную реализацию блока. Конечный результат собирается из отдельных технологий реализации блока со всех уровней переопределения последовательно в заданном порядке.
Переопределять можно любые технологии реализации БЭМ-сущностей.
Например, в проект на отдельный уровень подключается сторонняя библиотека, которая содержит готовые реализации блоков. Проектные блоки хранятся на другом уровне переопределения.
Предположим, что необходимо изменить внешний вид одного из блоков библиотеки. Для этого не нужно менять CSS-правила блока в исходном коде библиотеки или копировать код на уровень проекта. Достаточно создать дополнительные CSS-правила для этого блока на проектном уровне. При сборке в конечную реализацию подключатся исходные стили с уровня библиотеки и новые — с уровня проекта.
БЭМ: Разработка под несколько платформ
Что такое BEM и с чем его едят? — Qmedia на vc.ru
29
просмотров
1 Введение в методологию BEM
1.1 Что такое BEM?
BEM (Block-Element-Modifier) — это методология именования классов в CSS, которая используется для более эффективного и удобного написания кода. Она разбивает наш интерфейс на небольшие блоки, каждый из которых имеет свой собственный набор свойств и стилей.
1.2 Зачем нужна методология BEM?
Цель BEM заключается в том, чтобы ускорить и упростить процесс создания и поддержки больших, сложных веб-приложений. Она позволяет разбить изначально очень сложный дизайн на небольшие части, которые легче понимать и поддерживать.
1.3 Какие задачи решает BEM?
- Структурирует HTML-разметку, делает ее более читаемой и понятной.
- Уменьшает вероятность возникновения ошибок при написании CSS-кода.
- Упрощает поддержку и модернизацию кода.
- Повышает скорость разработки.
2 Основные концепции и принципы BEM
2.1 Блок, элемент, модификатор
Концепции BEM основываются на том, что за каждым элементом интерфейса скрывается блок, который в свою очередь может содержать элементы и модификаторы.
Блок определяется как самостоятельный компонент, который имеет собственные свойства и функционал. Например, блок «header» содержит общую информацию и ссылки на различные страницы сайта.
Элемент является частью блока. Он отвечает за определенный функционал внутри блока. Например, элемент «logo» внутри блока «header».
Модификатор позволяет изменять поведение или внешний вид блока или элемента. Например, модификатор «active» для элемента «menu-item» внутри блока «menu» указывает, что элемент является активным на текущей странице.
2.2 Как правильно называть блоки, элементы и модификаторы
Названия блоков, элементов и модификаторов должны быть понятными и легко читаемыми, чтобы другие разработчики могли быстро понять, как работает ваш код.
- Название блока должно быть уникальным, коротким и легко читаемым.
- Название элемента должно быть написано внутри блока, разделено двойным тире.
- Название модификатора должно сообщать о том, что он делает с блоком или элементом.
Примеры названий BEM
- Блок: header
- Элемент: header__logo
- Модификатор: header__logo—small
2.3 Какие есть правила стилизации блоков и элементов
CSS-стили для блоков и элементов не должны быть привязаны к их положению на странице. Вместо этого они должны быть написаны на основе их назначения.
Для каждого блока и элемента должен быть свой собственный файл стилей, который легко поддерживать и изменять. Также важно трогать только свойства, относящиеся к текущему блоку или элементу, а не к соседним.
3 Преимущества использования BEM
3.1 Универсальность методологии
BEM используется не только в CSS, но и в HTML и JavaScript, что позволяет использовать ее во всем проекте. Это делает ее удобной для работы в команде.
3.2 Ясная структура и удобство редактирования кода
Использование BEM позволяет создавать чистый и понятный код. Это делает процесс работы с ним более удобным и эффективным, а также ускоряет процесс разработки и поддержки кода.
3.2 Возможность переиспользования блоков
Блоки и элементы, созданные с помощью BEM, могут быть легко переиспользованы в других проектах. Это позволяет повысить эффективность и скорость работы.
4 Примеры использования BEM
4.1 Создание простого блока
Для создания блока необходимо определить название и написать его в HTML-коде с помощью атрибута class. Например, создадим блок «menu»:
Пример простого блока
4.2 Создание элемента в блоке
Для создания элемента необходимо добавить двойное подчеркивание после имени блока и указать название элемента. Например, добавим элемент «item» в блок «menu»:
Создание элемента в блоке
4.3 Пример использования модификатора
Модификаторы добавляются на основе элемента или блока и указываются с помощью двойного тире после названия элемента или блока. Например, добавим модификатор «active» для элемента «item» в блоке «menu»:
Использование модификатора
5 Заключение
Основные преимущества использования методологии BEM:
- Удобство разработки: BEM делает код читабельным и понятным, что упрощает поддержку и сопровождение проектов.
- Универсальность: этот подход может использоваться для различных архитектур веб-приложений, включая Single Page Applications (одностраничные сайты) и динамические сайты.
- Масштабируемость: возможность декомпозировать множественные компоненты веб-сайта на более мелкие части и переиспользовать их, что упрощает и ускоряет разработку и расширение проектов.
Одно лишь знание методологии BEM недостаточно, чтобы создавать эффективные web-проекты. Для успешной работы с BEM необходима грамотная организация команды, единый подход к именованию и структурированию элементов, высокая компетенция каждого участника процесса и, главное, ясное понимание принципов и целей методологии. В нашей компании наши профессиональные разработчики максимально используют BEM в своей работе, чтобы создавать проекты любой сложности.
>> Получить консультацию <<
Метод оценки биоразнообразия 2020
BAM — это научный документ, который содержит:
- согласованный метод оценки ценности биоразнообразия в результате предлагаемого развития (включая крупные проекты), деятельности, расчистки или сертификации биоразнообразия, а также улучшения ценности биоразнообразия в результате управленческих действий, предпринятых на участке управления
- о том, как инициатор может избежать и свести к минимуму потенциальное воздействие на биоразнообразие
- количество и класс кредитов биоразнообразия, которые необходимо компенсировать для достижения стандарта «отсутствия чистых потерь» биоразнообразия.
Руководство
BAM поддерживается калькулятором BAM, который позволяет аккредитованным оценщикам (обычно консультантам-экологам) вводить полевые данные и определять количество и класс кредитов биоразнообразия. Калькулятор BAM поможет подготовить стандартизированные отчеты для лиц, принимающих решения.
BAM должен применяться аккредитованным оценщиком. Эксперт документирует результаты оценки биоразнообразия в Отчете об оценке биоразнообразия (ООП). В зависимости от типа проводимой оценки создаются различные BAR. Например, Отчет об оценке развития биоразнообразия (BDAR) или Отчет об оценке сертификации биоразнообразия (BCAR) определяет:
- как инициатор предлагает избежать и свести к минимуму воздействие
- любое потенциальное воздействие, которое можно охарактеризовать как серьезное и необратимое в соответствии с указанными принципами и
- компенсационное обязательство, необходимое для компенсации вероятного воздействия на биоразнообразие предлагаемой разработки, деятельности, расчистки или сертификации биоразнообразия, выраженного в кредитах биоразнообразия.
Отчет об оценке участка управления биоразнообразием (BSSAR) определяет вероятное увеличение ценности биоразнообразия в результате управленческих действий, которые должны быть предприняты на предлагаемом участке управления. Прирост выражается в кредитах биоразнообразия.
BAM измеряет два типа кредитов:
- экосистемные кредиты, которые измеряют требуемую компенсацию воздействия на экологические сообщества, находящиеся под угрозой исчезновения, места обитания исчезающих видов для видов, существование которых можно достоверно предсказать вместе с типом растительного сообщества, и другими типами растительных сообществ в целом
- видовых кредитов, которые измеряют требования компенсации для воздействий на особей исчезающих видов или область их обитания.
Инициатор должен предоставить BAR лицу, принимающему решение, или Фонду сохранения биоразнообразия в рамках их разработки, деятельности, расчистки, сертификации биоразнообразия или заявки на управление участком. BDAR и BCAR будут выставлены на всеобщее обозрение с соответствующей заявкой.
Прочтите Метод оценки биоразнообразия 2020 (PDF, 1,2 МБ).
Новый БАМ 2020
BAM 2020 вступил в силу 22 октября 2020 г. В информационном бюллетене «Метод оценки биоразнообразия 2020 – что нового» излагаются основные поправки, внесенные в BAM 2017. В пункте 6.31 Постановления о сохранении биоразнообразия 2017 г. BAM может привлечь сторонников и землевладельцев в связи с проводимой оценкой биоразнообразия. Сюда входят оценки развития, деятельности, расчистки, сертификации биоразнообразия и соглашений об управлении биоразнообразием.
Для аккредитованных оценщиков и представителей органов местного самоуправления, знакомых с BAM 2017, см. руководящий документ «Изменения в методе оценки биоразнообразия с 2017 по 2020 год».
Переходные мероприятия
С 22 октября 2020 года переходные меры позволяют инициаторам и землевладельцам подавать отчет об оценке биоразнообразия на основе BAM 2017 для:
- 12 месяцев или более длительный период, утвержденный министром для заявок на стратегическую сертификацию биоразнообразия
- 12 месяцев для государственной значимой разработки или инфраструктуры и нестратегической (стандартной) сертификации биоразнообразия
- 6 месяцев для всех других приложений по разработке и очистке или приложений по управлению биоразнообразием.
Если переходные меры применяются к предлагаемому объекту разработки, деятельности, расчистки, сертификации биоразнообразия или управления, убедитесь, что применяется оригинальный BAM 2017 и сопроводительные документы, а не BAM 2020. Аккредитованный оценщик должен убедиться, что это четко указано в Отчет об оценке биоразнообразия. Переходные договоренности не позволяют применять к предложению комбинацию BAM 2017 и BAM 2020.
Калькулятор BAM был обновлен 22 октября 2020 г., чтобы привести его в соответствие с BAM 2020. С 22 октября 2020 г., если инициатор или оценщик предлагает применить BAM 2017 к разбросанному дереву (бывшему загонному дереву) или оценке оптимизированного развития небольшой территории, им следует связаться с BAM. Поддержка рекомендаций по использованию калькулятора BAM для применения переходных мер. Обновленный калькулятор BAM можно использовать для других предложений по разработке, деятельности, очистке или сертификации биоразнообразия независимо от того, применяется ли BAM 2017 или BAM 2020.
Оперативное руководство по методу оценки биоразнообразия
Операционное руководство содержит оперативное руководство, помогающее заявителям и аккредитованным оценщикам применять метод оценки биоразнообразия (BAM), установленный в соответствии с разделом 6.7 Закона штата Новый Южный Уэльс о сохранении биоразнообразия 2016 года .
Руководство является сопутствующим документом к BAM и содержит дополнительные рекомендации по применению BAM для оценки объекта с точки зрения ценности биоразнообразия в целях оценки воздействия застройки, деятельности, расчистки или сертификации биоразнообразия или для разработки плана управления землей. предлагается для соглашения об управлении биоразнообразием.
Руководство подготовлено в виде 3 отдельных документов в соответствии со структурой BAM 2020. Этап 1, этап 2 и этап 3 теперь доступны для BAM 2020.
Что такое метод оценки биоразнообразия (BAM)?
Что такое метод оценки биоразнообразия (BAM)?deltaassociates20 февраля 2020 г.
Метод оценки биоразнообразия (BAM) описывает, как аккредитованное лицо оценивает воздействие на биоразнообразие на объектах застройки и объектах управления.
BAM — это научный документ, который содержит:
- последовательный метод оценки биоразнообразия на предполагаемом участке разработки, крупного проекта или расчистки территории
- руководство о том, как разработчик может избежать и минимизировать потенциальное воздействие на биоразнообразие и количество и класс кредитов биоразнообразия, которые необходимо компенсировать для достижения стандарта отсутствия чистых потерь биоразнообразия
BAM поддерживается онлайн-инструментом BAM, который позволяет аккредитованным оценщикам (обычно консультантам-экологам) вводить полевые данные и определять количество и класс кредитов биоразнообразия. Инструмент BAM также поможет с подготовкой стандартизированных отчетов для рассмотрения органами по согласию.
Аккредитованный оценщик должен применить BAM. Оценщик документирует результаты оценки биоразнообразия в Отчете об оценке развития биоразнообразия (BDAR).
BDAR определяет:
- то, как инициатор предлагает избежать и свести к минимуму воздействие
- любое потенциальное воздействие, которое можно классифицировать как серьезное или необратимое в соответствии с указанными принципами и
- компенсационное обязательство, необходимое для компенсации вероятного воздействия на биоразнообразие предложение по развитию или расчистке, выраженное в кредитах биоразнообразия.
Инициатор должен предоставить BDAR органу утверждения в рамках своей разработки, предложения по крупному проекту или заявки на получение разрешения. BDAR будет выставлен на всеобщее обозрение вместе с соответствующим приложением для разработки.
Прочтите Метод оценки биоразнообразия (PDF, 1,2 МБ).
Запросить сейчас
Delta Associates может помочь вам с требованиями кредита для биобанкинга и посоветует вам варианты компенсации экологического воздействия на виды, затронутые вашим развитием.