Создание чистых и структурированных таблиц стилей важно для каждого веб-разработчика. Использование методологии BEM (Block, Element, Modifier) в сочетании с препроцессором SCSS (Sass) позволяет организовать и поддерживать. В этом руководстве мы рассмотрим основные принципы и лучшие практики использования BEM и SCSS для написания чистых и удобных для поддержки таблиц стилей.

Что такое BEM?

BEM (Block, Element, Modifier) — это методология именования CSS-классов, которая позволяет создавать читаемый и поддерживаемый код. Она состоит из трех основных компонентов:

  • Блок (Block): независимый компонент, который может быть повторно использован.
  • Элемент (Element): часть блока, которая не имеет смысла вне контекста блока.
  • Модификатор (Modifier): состояние или вариация блока или элемента.

Примеры именования

Рассмотрим примеры именования классов в BEM:

  • Блок: .button
  • Элемент: .button__icon
  • Модификатор: .button—primary

Такая структура помогает четко разделять различные части интерфейса и упрощает их поддержку.

ОНЛАЙН-ПРАКТИКУМ
ЗАПУСК нейросети DEEPSEEK R1 ЛОКАЛЬНО НА СВОЕМ КОМПЬЮТЕРЕ
ЧТО БУДЕТ НА ОБУЧЕНИИ?
  • ПОКАЖЕМ, КАК РАЗВЕРНУТЬ МОДЕЛЬ нейросети DEEPSEEK R1 ПРЯМО НА СВОЁМ КОМПЬЮТЕРЕ
  • Где и как применять? Потестируем модель после установки на разных задачах
  • Как дообучить модель под себя?

Что такое SCSS?

SCSS (Sassy CSS) можно расценивать как расширение для CSS, которое делает язык проще и функциональнее, а также лучше в поддержке. Есть функции, переменные, миксины.

Примеры использования

Пример использования переменных и вложенных селекторов в SCSS:

$primary-color: #3498db;

.button {

background-color: $primary-color;

&__icon {

color: white;

}

&--primary {

border: 1px solid $primary-color;

}

}

Такой подход упрощает изменение и поддержку стилей.

Совместное использование BEM и SCSS

  • Структурирование файлов

Для удобства работы и поддержки кода рекомендуется структурировать файлы SCSS по методологии BEM.

Пример структуры проекта:

/styles

/blocks

_button.scss

_card.scss

/elements

_icon.scss

_title.scss

/modifiers

_primary.scss

_secondary.scss

main.scss
  • Использование переменных и миксинов

SCSS позволяет использовать переменные и миксины для уменьшения дублирования кода.

Пример:

// Переменные

$font-stack: 'Helvetica, sans-serif';

$primary-color: #333;

// Миксин

@mixin border-radius($radius) {

-webkit-border-radius: $radius;

-moz-border-radius: $radius;

-ms-border-radius: $radius;

border-radius: $radius;

}

// Применение миксина и переменных

.button {

font: 100% $font-stack;

color: $primary-color;

@include border-radius(5px);

}

Преимущества инструментов

Преимущества BEM

Плюсы методологии BEM:

  1. Читаемость и поддерживаемость кода: именование классов позволяет сразу понять структуру и взаимосвязи элементов.
  2. Повторное использование кода: блоки и элементы можно легко повторно использовать в различных частях проекта.
  3. Устойчивость к изменениям: модификаторы позволяют легко изменять стили без влияния на другие части интерфейса.

Преимущества SCSS

Препроцессор предлагает:

  1. Модульность: возможность разделения кода на небольшие файлы упрощает организацию проекта.
  2. Использование переменных: можно управлять цветом, размером и другими свойствами
  3. Миксины и функции: повторное использование блоков кода.

Примеры кода

Создание кнопки

Рассмотрим пример создания кнопки:

// Файл: _button.scss

$button-padding: 10px 20px;

.button {

padding: $button-padding;

background-color: $primary-color;

border: none;

cursor: pointer;

&__icon {

margin-right: 5px;

}

&--primary {

background-color: darken($primary-color, 10%);

}

}

Интеграция в основной файл

// Файл: main.scss

@import 'blocks/button';

@import 'elements/icon';

@import 'modifiers/primary';

Заключение

Использование методологии BEM и препроцессора SCSS позволяет создавать чистые, структурированные и легко поддерживаемые таблицы стилей. Следуя принципам, вы сможете значительно улучшить качество вашего кода и упростить процесс разработки.

Большой практикум
ЗАМЕНИ ВСЕ НЕЙРОСЕТИ НА ОДНУ — PERPLEXITY
ПОКАЖЕМ НА КОНКРЕТНЫХ КЕЙСАХ
  • Освой нейросеть Perplexity и узнай, как пользоваться функционалом остальных ИИ в одном
  • УЧАСТВОВАТЬ ЗА 0 РУБ.
  • Расскажем, как получить подписку
Участвовать бесплатно
ОНЛАЙН-ПРАКТИКУМ
ЗАПУСК нейросети DEEPSEEK R1 ЛОКАЛЬНО НА СВОЕМ КОМПЬЮТЕРЕ
ЧТО БУДЕТ НА ОБУЧЕНИИ?
  • ПОКАЖЕМ, КАК РАЗВЕРНУТЬ МОДЕЛЬ нейросеть DEEPSEEK R1 ПРЯМО НА СВОЁМ КОМПЬЮТЕРЕ
Участвовать бесплатно