[Из песочницы] Создание Angular 2+ компонентов с возможностью переключения темы

Скрипты и советы | 19 июля 2017 3 041

Уроки CSS на Хабрахабре, habrahabr.ru, CSS

Всем привет.

Итак, допустим мы пишем сайт, на котором нужно реализовать возможность динамического переключения настроек внешнего вида, или, проще говоря, темы. Темой (theme) будем называть набор свойств, определяющих внешний вид компонентов (да и вообще всего сайта).
Допустим, у нас есть одностраничное приложение на Angular, и пусть в нем будет ооочень много компонентов, и один из них — ButtonComponent (к компоненту подключим стили из button.component.css), на примере которого и рассмотрим весь механизм. И нужно реализовать возможность переключения между двумя темами: «dark» и «light», которые у нас будут отличаться только цветами (а в общем случае можно выносить в тему что угодно, размеры там, шрифты, картинки бэкграунда и т.п. — все, чем можно управлять из css).
Читать дальше →
[Перевод] Стилизация однофайловых Vue компонентов

Если у вас есть опыт написания однофайловых Vue компонентов, вы, вероятно, сталкивались с написанием CSS в своем...

Подробнее
[Из песочницы] Унификация визуальных компонентов. Часть 1. Стили

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

Подробнее
Паттерн порталов в Angular: для чего нужен root-компонент в Taiga UI

Мой коллега Роман недавно объявил о выходе нашей новой библиотеки компонентов под Angular Taiga UI. В инструкциях...

Подробнее
[Перевод] Представляем popover API

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

Подробнее
«WARNING: sanitizing HTML stripped some content» и как с ним правильно бороться

Всем, кому приходилось вставлять HTML содержимое в DOM в Angular, доводилось видеть это сообщение. Конечно, все мы...

Подробнее
Reactjs, Material-UI with JSS. Краткий гайд

Доброго времени суток, Хабр! Итак, material-ui — reactJS's фрэймворк, предоставляющий готовые google решения для...

Подробнее

💬 Комментарии

В связи с новыми требованиями законодательства РФ (ФЗ-152, ФЗ «О рекламе») и ужесточением контроля со стороны РКН, мы отключили систему комментариев на сайте.

🔒 Важно Теперь мы не собираем и не храним ваши персональные данные — даже если очень захотим.

💡 Хотите обсудить материал?

Присоединяйтесь к нашему Telegram-каналу:

https://t.me/tcsecms/

Нажмите кнопку ниже — и вы сразу попадёте в чат с комментариями