Size: a a a

2021 May 06

В

Вадим in БЭМ
Я помню основной тред, что в Яндексе провели исследование и что стили ресетов/нормалайзеров практически не использовались

понятно что не нужно все бездумно туда тянуть - то что используется то и заносить в этот файл
в общем я сторонник отделения мух от котлет: то что отвечает за соответствие дизайну - в стили компонента, а то что отвечает за выравнивание горбатых - в отдельный файл чтоб не засорять стили 🙂
источник

EB

Evgeniy Baranov in БЭМ
А как с @bem-react/classname иначе жить? Если есть варианты - я обязательно попробую.
источник

Prikolist Начрэл... in БЭМ
Всё это не важно. Основной тейк в том, что определения стилей в компонентах достаточно и это делает компоненты полноценными и самодостаточными, независимыми от глобальных стилей. Если ты с этим не согласен, делай как тебе нравится, можешь например создать очень полезный сброс, делающий все кнопки серыми, а ссылки синими, но тогда у тебя будет всё зависеть от этого полезного файла и система будет хрупкой
источник

В

Вадим in БЭМ
ну если принять во внимание активное использование  CSS-переменных для темизации - от общих файлов не уйти
источник

Prikolist Начрэл... in БЭМ
Почему?
источник

В

Вадим in БЭМ
ну как вы уйдете от общего файла темы в котором определяются основные переменные для нее?
цвета, размеры отступы и т.п.?
источник

В

Вадим in БЭМ
определять основной цвет в каждой компоненте каждый раз?
а менять тему на ходу??
если все параметры темы разбросаны по компонентам и дублируются - не просто все это хозяйство будет в один момент изменить
источник

Prikolist Начрэл... in БЭМ
Не понимаю как это связано. Темы определяют переменные объявленные в компонентах. Они фактически используют API компонентов.

CSS reset применяет стили глобально.
источник

В

Вадим in БЭМ
вот я не понимаю как тема определяется в стилях компонентов!
давайте еще раз пойдем сначала: есть понятие основного дополнительного, акцентноного и др цветов в теме
вы предлагаете их в каждом компоненте снова и снова описывать?
а менять как на ходу вы будете все это?
источник

В

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

как вы предлагаете это делать без глобальных переменных?
источник

Prikolist Начрэл... in БЭМ
Компоненты используют переменные. Переменные определяются в внешних классах и навешиваются на DOM узлы в которых их нужно применить.

Не понимаю какое отношение темизация имеет к сбросу стилей и дальше не смогу ничего объяснять пока не ответишь на этот вопрос. Мб когда ответишь на него сам себе, ничего объяснять уже и не нужно будет
источник

В

Вадим in БЭМ
проследите переписку - выше было утверждение что глобальные файлы вносят хрупкость в систему -отчасти согласен
но я привел пример того что от этого не уйти - темизация пример тому

и поскольку все равно есть глобальный файл - туда можно и стили нормализации дописывать чтобы не захламлять стили по дизайну конкретных компонентов

у этого варианта есть еще одно преимущество - по мере выравнивания ситуации с отображением в разных браузерах легко будет чистить стили от нормализации
источник

Prikolist Начрэл... in БЭМ
Здесь я не говорю про то, что глобальные стили делают систему хрупкой, хотя вообще это реально так. Я говорю о том, что глобальные сбросы это делают. Ты рассчитываешь на паддинг в кнопке, забыл подключить свой сброс или он обновился и все сломалось. Вместо этого компонент должен полностью описывать свой внешний вид.

На счёт тем, в них нет ничего глобального. Компонент декларирует что использует некоторые переменные и этим может пользоваться кто угодно и как угодно. Потому что это публичное API компонента. Компонент сам его определяет и лишь позволяет им пользоваться. Он тут босс, а не мы, пользователи
источник

В

Вадим in БЭМ
когда каждый компонент определяет свои стили об общей теме не приходится говорить - кто в лес кто по дрова!
если решили что теперь у нас основной цвет не желтый а зеленый - вместо изменения значения переменной в одном файле темы мы должны будем раздать стопиццот задач для всех компонент чтобы они у себя поменяли желтый на зеленый, все сделали а кто-то заболел а кто-то пропустил и пошла поехала общая картина ...
источник

Prikolist Начрэл... in БЭМ
Кажется что ты не настроен понять в чём проблема сброса глобальных стилей, потому что игнорируешь тезисы которые я дал, а спорить я не хочу. Если это не так, перечитай ещё раз то что я написал, если появятся дополнительные вопросы, возможно я смогу помочь
источник

В

Вадим in БЭМ
я вообще о сбросе стилей не писал - я говорю о точечной нормализации
тоже не очень хочется спорить - я свои аргументы привел - мне они кажутся логичными
источник

yW

yarastqt World in БЭМ
Не совсем понял вопрос, что значит иначе? Если мы говорим про css-in-js или css-modules, то bem-react/classname не нужен 🙂
источник

Prikolist Начрэл... in БЭМ
Что конкретно ты имеешь в виду под точечной нормализацией?
источник

В

Вадим in БЭМ
имеется в виду добавление нескольких стилей для конкретных браузеров до приведение внешнего вида элементов до одинакового во всех целевых браузерах
сброс стилей предлагает обнуление всех стилей а затем мы наш мы новый мир посторим 🙂
это немного разные подходы
источник

Prikolist Начрэл... in БЭМ
Мне не понятно в чём отличие от сброса. В yandex-ui для конкретных платформ конкретные модификаторы, меняющие стили компонентов. Это просто HOCи. Я согласен с таким подходом, потому что он очень естественный
источник