Skip to content
radiogron edited this page Oct 28, 2020 · 13 revisions

Добро пожаловать в вики проекта FA-Kit!

Мы создали этот проект в качестве противовеса уже порядком перегруженному Bootstrap. К слову, интегрировать flexbox мы начали еще в старой версии, собранной на Less. А теперь добавили еще и поддержку grid.

На данный момент структура проекта следующая:

Основа

  1. Сетка
  2. Медиа-контент
  3. Призрачные классы для SASS

Настройка и использование

  1. Как использовать
  2. В начало проекта

Типографика

  1. Типографика
  2. Оформление текста
  3. Заголовки
  4. Параграфы
  5. Ссылка
  6. Список
  7. KDB

Блоки

  1. Формы
  2. Поля ввода
  3. Кнопки
  4. Изображения
  5. Уведомления и предупреждения

Утилиты

  1. Утилиты
  2. Система отображения\скрытия контента

Наименование классов

Преследуя цели — исключить конфликтность и повысить читаемость (делая акцент на BEM), наименование классов происходит у нас по принципу:

Приставка → Блок → Элемент → Модификатор. По умолчанию приставки в сборке нет, классы выглядят, как .container. Но при желании можно в конфигурации добавить приставки и выглядеть это будет следующим образом:

На примере образования класса контейнера: .g-container. Где g- — приставка, а container — блок.

Также, дабы исключить ошибки в формировании элементов и модификаторов, мы используем двойной дефис. Например: .g-container--wide, где --wide — модификатор.


В проекте реализована система настройки наименования классов. При сборке из исходников, предусмотрена возможность установки своих базовых классов и их приставок. Но не модификаторов.

В файле /sass/config/class.sass выведены настройки для всех классов, что представлены в проекте.

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

В то же время существует 2 используемых в проекте префикса:

  1. g- — используется для маркировки «глобальных» блоков.
  2. b- — обычная маркировка блоков. В основном используется в описании интерфейса.

Цели

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