$mol Дока от сообщества
  • 🏠Главная
    • Приглашаем всех к улучшению документации
    • Что такое $mol и MAM?
  • 💡FAQ
    • Новые вопросы
    • Как запустить $mol?
    • Как работать в $mol с git?
    • Что такое .tree?
    • Как работать со стилями в $mol?
    • Как интегрировать что-то в $mol?
  • 🧑‍💻🧑💻 Практика
    • Шпаргалка $mol
    • Быстрый старт
      • Hello World!
      • Список дел
      • Крестики-нолики
      • Счётчик
      • Калькулятор
    • Реальные приложения
  • 🧱Компоненты
    • Компоненты UI
    • Иконки
    • Стили и темы
  • 📊Яндекс Метрика
  • 🇱🇷Локализация i18n
  • 🎯RoadMap
    • $mol
    • Плагины VS Code
    • Компоненты UI
  • 🌎Экосистема
    • Экосистема
  • 🧞Статьи и видео
    • Статьи
    • Видео
    • Цитаты и мемы
  • GitHub $mol
  • Сайт $mol
Powered by GitBook
On this page

Was this helpful?

  1. FAQ

Как работать со стилями в $mol?

Все вопросы, которые касаются работы со стилями и темами в $mol

PreviousЧто такое .tree?NextКак интегрировать что-то в $mol?

Last updated 2 years ago

Was this helpful?

Как изменить или добавить свои стили в $mol?

Работа со стилями в $mol имеет свои особенности. В большинстве случаев изменить стиль какого-либо элемента не составит труда, т.к. селекторами в стилях являются сами имена компонентов.

Подробнее можете посмотреть на примере Hello World приложения в секции создания файла hello.view.css :

Также для более углубленного изучения есть презентация по CSS in TS:

Пример работы со стилями из Hello World - тут можно посмотреть результат

/* Styling BEM-block by autogenerated attribute */
[my_hello] {
	display: flex;
	flex-direction: column;
	align-items: center;
	font: 1.5rem/1 sans-serif;
	box-shadow: 0 0 0 1px var(--mol_theme_line);
	flex: 1 1 auto;
	align-self: stretch;
	margin: 0;
}
/* Styling BEM-element by autogenerated attribute */
[my_hello_name] {
	flex-grow: 0;
	margin: 1rem;
	width: 14rem;
}
Где хранятся базовые стили $mol компонентов?

Базовые компоненты $mol имеют минимальные базовые стили, чтобы в дальнейшем их было легче переписывать и меньше перезатирать на свои. Все стили можно найти в самих исходниках компонентов. Вы можете начать изучать базовые стили компонентов на примере $mol_button_major: Исходники для кнопок $button:

Если открыть файлы css, то увидите конструкции var(--mol_gap_round); Это переменные в css. Чтобы увидеть их значения, вам нужно перейти в текущем репозитории /mol в папку /round - там вы увидите все значения. искомые значения.

Ещё отдельно на стили кнопки влияют стили от темы - подробнее их изучить можно в папке /theme

Как создавать свои css переменные?

$mol расширяет базовое понятие CSS Variables добавляя к нему методологию БЭМ. Почитать, что таккое CSS Variables можно тут: Например, для значения базовых отступов (gap) в $mol уже есть. И они применяются для кнопки

// Создание CSS Variables в модуле /mol/gap
// https://github.com/hyoo-ru/mam_mol/blob/master/gap/gap.css#L4
:root {
	...
	--mol_gap_round: .25rem;
}

// Использование CSS Variables в другом модуле
// https://github.com/hyoo-ru/mam_mol/blob/master/button/button.view.css#L13
[mol_button] {
	...
	border-radius: var(--mol_gap_round);
}

БЭМ здесь работает следующим образом: В переменной --mol_gap_round : -mol - это имя модуля (Б), _gap - это имя папки в модуле (Э). _round - это имя переменной (М).

💡
https://mol.hyoo.ru/#!Description=Create%20your%20application%20component
https://mol.hyoo.ru/#!Description=Create%20your%20application%20component/section=slides/slides=https%3A%2F%2Fnin-jin.github.io%2Fslides%2Fcss-in-ts%2F/slide=22
https://mol.js.org/app/hello/-/
https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo
https://github.com/hyoo-ru/mam_mol/tree/master/button
https://github.com/hyoo-ru/mam_mol/blob/master/gap/gap.css
https://github.com/hyoo-ru/mam_mol/tree/master/theme
https://www.w3schools.com/css/css3_variables.asp
https://github.com/hyoo-ru/mam_mol/blob/master/gap/gap.css
https://github.com/hyoo-ru/mam_mol/blob/master/button/button.view.css#L13