Мне лень полноценный ответ писать так что во ткоммент)
[...Array(5).keys()];
=> [0, 1, 2, 3, 4]
делаешь массив длиной финиш минус старт, перемножаешь все элементы в reduce, а чтобы сделать сдвиг и числа не от единички считались а от начала прибавляешь каждый раз еще начало
Виталий Першин, свой код тоже без проблем читаю и редактирую и на проектах 20+ страниц, когда читаешь чужой во-первых нет гарантии что он правильно его написал соответственно БЭМу и обдумывать что есть что все равно приходится, да и если стили читать умеешь то проблем особых не составляет проект и вольного стиля править если его не придурок писал
Виталий Першин, далеко идти не будем за примером) я просто поменял последовательность (даже не вложенность) элементов в комменте а все уже пошло по одному месту
Виталий Першин, если есть inline - block -inline последовательность как не обзови их хоть дважды бэмом, при переносе одного из блоков на место другого оно все сломается.
если есть марджины у блока а они есть почти всегда то тоже сломается при переносе и один переиспользуемый элемент придется допиливать созданием нескольких модификаторов или селекторами вложенности
Виталий Першин, в статье вижу говнокод, который превращен в нормальный с БЭМ
излишняя универсальность, стили не применятся там где они не нужны если селектить через родительский блок
мы же не дураки чтобы менять имена класов только в разметке да? а если мы меняем их в коде и тоже как умные люди пишем sass то все селекторы изменятся соответственно и все продолжит работать, насчет кривой стуктуры я поддержу)
что если мы захотим поместить то что предназначено для одного места в другое? мы сделали это зря)
это ошибка кодера а не методологии
в любом случае просто так очень редко переносится блок, а который в разных местах существует может быть и без БЭМа заложен нормально, собственно если элемент перенести то тоже все пойдет по одному месту, они не менее специфичны
не вижу проблем сделать так и уносить его потом куда угодно, кстати в моем случае у меня аж 9 позиций для стикера а не 4. А миллиард комбинаций вложенности элементов только все усложнит. Код CSS в любом случае будет потом оптимизирован и дублирование правил не повредит. Зато сразу понятно что border: none; padding: 0; только у картинки в стикере а не у любой картинки где угодно находящейся
мне кажется вы путатете (БЭМ ∈ структура) со (структура = БЭМ)
Виталий Першин, я скажу лучше придумывать как стили написать, а не как их супер-жестко структурировать и потом оргазмировать от гигантских классов, чтоб элементы не скакали как ошалевшие друг на друге)
Виталий Першин, вложенные селекторы вроде как изменение блока контекстом как раз.
Кстати кто-то хотел срубить на хабре бабла по-быстрому раз не написал модификатор