SlideShare a Scribd company logo
Котерняк Сергей
Front-end dev. at Heartpace
Стили в React / CSS-Modules
Мы поговорим о:
1. Важности выбора подхода по написанию стилей
2. Самых популярных подходах и решениях
3. Css-modules. Почему они и как это работает
CSS Modules в React | Odessa Frontend Meetup #4
CSS Modules в React | Odessa Frontend Meetup #4
Стили - это вообще важно?
1. Архитектура приложения
2. Выбор инструментов для разработки
3. Удобство разработки
4. Скорость решения задач
Самые популярные подходы и
решения
CSS Modules в React | Odessa Frontend Meetup #4
CSS
- доступны все нативные свойства
- легко использовать
пре/постпроцессоры
- удобно подключать autoprefixer
- легко начать пользоваться
- противоречит компонентному подходу
- глобальная область видимости
- проблемы с названием классов
CSS Modules в React | Odessa Frontend Meetup #4
- структурированное наименования
элементов
- доступны все плюсы CSS
- низкий порог входа новых или
неопытных сотрудников (для стилей)
BEM
- глобальная область видимости
- монструозные классы
CSS Modules в React | Odessa Frontend Meetup #4
CSS Modules в React | Odessa Frontend Meetup #4
Inline Styles
- независимые компоненты
- локальная область видимости
- поддержка Facebook?
- отсутствие нормальной возможности
работать с псевдоклассами,
псевдоэлементами и медиазапросами
- проблемы с autoprefixer
- невозможность переопределять стили
по более сложным селекторам
- возможность влиять на глобальные
стили
CSS Modules в React | Odessa Frontend Meetup #4
CSS in JS
- независимые компоненты
- локальная область видимости
- нет ограничений по
использованию стилей
- высокий порог входа
- назад в будущее (все в одном
файле)
- очень много решений
- веб-стандарты более надежны
Radium
CSS Modules в React | Odessa Frontend Meetup #4
CSS Modules в React | Odessa Frontend Meetup #4
Aphrodite
CSS Modules в React | Odessa Frontend Meetup #4
CSS Modules в React | Odessa Frontend Meetup #4
CSS Modules
CSS Modules - что ты такое?(с)
Кратко это звучит так: css-файлы, в которых все классы и анимации по
умолчанию находятся в локальной области видимости.
Локальная и глобальная область
видимости
CSS Modules в React | Odessa Frontend Meetup #4
CSS Modules в React | Odessa Frontend Meetup #4
Удобная структура для написания
компонентов
CSS Modules в React | Odessa Frontend Meetup #4
CSS Modules в React | Odessa Frontend Meetup #4
Это также просто, как если бы мы писали на
Angular
CSS Modules в React | Odessa Frontend Meetup #4
CSS Modules в React | Odessa Frontend Meetup #4
CSS Modules в React | Odessa Frontend Meetup #4
Возможность использовать пре/постпроцессоров,
автопрефиксера, анимаций, псевдо*
CSS Modules в React | Odessa Frontend Meetup #4
CSS Modules в React | Odessa Frontend Meetup #4
CSS Modules в React | Odessa Frontend Meetup #4
Спасибо

More Related Content

What's hot (8)

PDF
04 - Практика UML. Описание прецедентов
Roman Brovko
 
PDF
02 - Практика UML. Уровни приложения
Roman Brovko
 
PDF
Создание темы «с нуля»
Artem Shymko
 
PDF
12 - Практика UML. Создание wireframe
Roman Brovko
 
PPTX
Методологии верстки
Elizaveta Selivanova
 
PPT
Designing UI - past and future
allileja
 
PPT
designing UI, workshop, first day
allileja
 
PDF
Управление требованиями в Devprom ALM 3.2
Dmitry Lobasev
 
04 - Практика UML. Описание прецедентов
Roman Brovko
 
02 - Практика UML. Уровни приложения
Roman Brovko
 
Создание темы «с нуля»
Artem Shymko
 
12 - Практика UML. Создание wireframe
Roman Brovko
 
Методологии верстки
Elizaveta Selivanova
 
Designing UI - past and future
allileja
 
designing UI, workshop, first day
allileja
 
Управление требованиями в Devprom ALM 3.2
Dmitry Lobasev
 

Similar to CSS Modules в React | Odessa Frontend Meetup #4 (20)

PPTX
A вы верите в систематизацию
Irina Levina
 
PDF
Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
Тарасов Константин
 
PPT
Drupal theming
Gleb K
 
PPTX
Создание веб-сайта. Курс молодого бойца
Anton Cherepov
 
PDF
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"
Yandex
 
PDF
Adn@it'summer - Как ленивые фронтенды себе жизнь упрощают
ADN Digital Studio
 
PPTX
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
7bits
 
PDF
Moodle с точки зрения пользователя и программиста
Igor Sazonov
 
PDF
Презентация Игоря Сазонова на IT Global Meetup #5
Lilia Smirnova
 
PPTX
Презентация модуля BrandMaker web2print
BrandMaker Russia
 
PDF
Accessibility meets structure
Lara Simonova
 
PPTX
Саммит2011_Коновалов
Сообщество eLearning PRO
 
PDF
как стать хорошим веб технологом. нарек мкртчян. зал 4
rit2011
 
PDF
Зачем нужны постпроцессоры при живых препроцессорах — Алексей Иванов, JetStyle
Yandex
 
PPT
Eleanor CMS
SC3402
 
PDF
Bullshit on rails
zykin-ilya
 
PDF
Виталий Харисов "Настоящее и будущее БЭМ"
Yandex
 
PDF
Подходы к вертске
Andrew Vdovichenko
 
PDF
Лекция #4. Каскадные таблицы стилей
Яковенко Кирилл
 
PDF
Жизнь в изоляции / Роман Дворнов (Avito)
Ontico
 
A вы верите в систематизацию
Irina Levina
 
Современная верстка с адекватными трудозатратами Максим Тимохин, технолог, И...
Тарасов Константин
 
Drupal theming
Gleb K
 
Создание веб-сайта. Курс молодого бойца
Anton Cherepov
 
Виталий Харисов "История создания БЭМ. Кратко, сбивчиво и неполно"
Yandex
 
Adn@it'summer - Как ленивые фронтенды себе жизнь упрощают
ADN Digital Studio
 
Спецкурс 2014, занятие 9 (2 часть). Code conventions and best practices
7bits
 
Moodle с точки зрения пользователя и программиста
Igor Sazonov
 
Презентация Игоря Сазонова на IT Global Meetup #5
Lilia Smirnova
 
Презентация модуля BrandMaker web2print
BrandMaker Russia
 
Accessibility meets structure
Lara Simonova
 
Саммит2011_Коновалов
Сообщество eLearning PRO
 
как стать хорошим веб технологом. нарек мкртчян. зал 4
rit2011
 
Зачем нужны постпроцессоры при живых препроцессорах — Алексей Иванов, JetStyle
Yandex
 
Eleanor CMS
SC3402
 
Bullshit on rails
zykin-ilya
 
Виталий Харисов "Настоящее и будущее БЭМ"
Yandex
 
Подходы к вертске
Andrew Vdovichenko
 
Лекция #4. Каскадные таблицы стилей
Яковенко Кирилл
 
Жизнь в изоляции / Роман Дворнов (Avito)
Ontico
 
Ad

More from OdessaFrontend (20)

PDF
Викторина | Odessa Frontend Meetup #19
OdessaFrontend
 
PDF
Использование Recoil в React и React Native приложениях | Odessa Frontend Mee...
OdessaFrontend
 
PDF
Великолепный Gatsby.js | Odessa Frontend Meetup #19
OdessaFrontend
 
PDF
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...
OdessaFrontend
 
PDF
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18
OdessaFrontend
 
PDF
Викторина | Odessa Frontend Meetup #17
OdessaFrontend
 
PDF
Антихрупкий TypeScript | Odessa Frontend Meetup #17
OdessaFrontend
 
PDF
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
OdessaFrontend
 
PDF
OAuth2 и OpenID Connect простым языком | Odessa Frontend Meetup #17
OdessaFrontend
 
PPTX
Объекты в ECMAScript | Odessa Frontend Meetup #16
OdessaFrontend
 
PPTX
Фриланс как профессиональная деградация | Odessa Frontend Meetup #16
OdessaFrontend
 
PPTX
Cлайдер на CSS | Odessa Frontend Meetup #16
OdessaFrontend
 
PDF
Современный станок верстальщика
OdessaFrontend
 
PDF
Викторина | Odessa Frontend Meetup #15
OdessaFrontend
 
PDF
DRY’им Vuex | Odessa Frontend Meetup #15
OdessaFrontend
 
PDF
А/Б тестирование: Что? Как? Зачем? | Odessa Frontend Meetup #15
OdessaFrontend
 
PDF
Пощупать 3д в браузере | Odessa Frontend Meetup #15
OdessaFrontend
 
PDF
Викторина | Odessa Frontend Meetup #14
OdessaFrontend
 
PDF
Викторина | Odessa Frontend Meetup #13
OdessaFrontend
 
PPTX
Структуры данных в JavaScript | Odessa Frontend Meetup #13
OdessaFrontend
 
Викторина | Odessa Frontend Meetup #19
OdessaFrontend
 
Использование Recoil в React и React Native приложениях | Odessa Frontend Mee...
OdessaFrontend
 
Великолепный Gatsby.js | Odessa Frontend Meetup #19
OdessaFrontend
 
Функциональное программирование с использованием библиотеки fp-ts | Odessa Fr...
OdessaFrontend
 
Canvas API как инструмент для работы с графикой | Odessa Frontend Meetup #18
OdessaFrontend
 
Викторина | Odessa Frontend Meetup #17
OdessaFrontend
 
Антихрупкий TypeScript | Odessa Frontend Meetup #17
OdessaFrontend
 
Частые ошибки при разработке фронтенда | Odessa Frontend Meetup #17
OdessaFrontend
 
OAuth2 и OpenID Connect простым языком | Odessa Frontend Meetup #17
OdessaFrontend
 
Объекты в ECMAScript | Odessa Frontend Meetup #16
OdessaFrontend
 
Фриланс как профессиональная деградация | Odessa Frontend Meetup #16
OdessaFrontend
 
Cлайдер на CSS | Odessa Frontend Meetup #16
OdessaFrontend
 
Современный станок верстальщика
OdessaFrontend
 
Викторина | Odessa Frontend Meetup #15
OdessaFrontend
 
DRY’им Vuex | Odessa Frontend Meetup #15
OdessaFrontend
 
А/Б тестирование: Что? Как? Зачем? | Odessa Frontend Meetup #15
OdessaFrontend
 
Пощупать 3д в браузере | Odessa Frontend Meetup #15
OdessaFrontend
 
Викторина | Odessa Frontend Meetup #14
OdessaFrontend
 
Викторина | Odessa Frontend Meetup #13
OdessaFrontend
 
Структуры данных в JavaScript | Odessa Frontend Meetup #13
OdessaFrontend
 
Ad

CSS Modules в React | Odessa Frontend Meetup #4