Evgeny
😁бля давно я не смотрел верстку других людей
Nikolay
В блоках обычно максимум 3-4 уровня влож. Особенно с flex
Nikolay
Нафига бэм
Nikolay
Header - slider - items - item
Dmytro
Нафига бэм
Нужен когда ты Яндекс и у тебя 100500 сервисов 🙂
а когда у тебя на проекте 5-20 шаблонов он нафиг не надо 🙂
Dmytro
там есть крутая логика у них но ее понимает мало кто и суют бем везде и всюду где надо и не надо
Nikolay
Nikolay
Evgeny
Dmytro
Nikolay
Надо просто придумать новый модный молодёжный способ верстки, попроще, и распиарить его, и конец мучениям верстальщиков)
Иван
@lautsevich
Pavel
а? шо?
Иван
Давай по БЭМ поговорим
Pavel
это с удовольствием =)
Dmytro
это с удовольствием =)
Вот на тебе пример BEM )
https://github.com/melnychuk1/task-test__DDA/blob/master/source/index.html
Nikolay
Nikolay
Визиток
Dmytro
Pavel
ну неудивительно, просто эти 9 из 10 не ют БЭМ готовить
Dmytro
ДА и если что это весь макет 1 страничка других не будет 🙂 тоесть финал законченный проект 🙂
Dmytro
тоесть он тут и так не нужен 🙂 так еще и не правильно готовят 🙂
Pavel
да, лучше бэма пока ничего не придумали
Pavel
разве что совсем альтернативный подход atomic/functional css
Pavel
но я его терпеть не могу
Nikolay
Приколы начинаются когда сайт начинает расти, нужно тут добавить там убрать, это переместить
Nikolay
И вся эта красота накрывается
Dmytro
Evgeny
Андрей
Но авторы бэма сами перебарщивают, посмотреть хотя бы верстку их сайта
Evgeniy
Pavel
вот это про неправильный бэм. что значит перебарщивать?
Evgeniy
Андрей
вот это про неправильный бэм. что значит перебарщивать?
Ты пришел в новый проект где используется бэм и тебе нужно в вёрстке что-то поправить, что будешь делать? Добавишь новый модификатор или микс, а потом этих модификаторов столько накапливается что вверстка превращается в ад
Андрей
Поэтому иногда лучше что-то изменить а не добавлять модификатор
Pavel
бэм дает систему и если проект на бэм и ты знаешь бэм, то он дает тебе понимание того, как раотать с даже недокументированным кодом, потому что ты можем прочитать в доке бэм про его принципы. но, если там бэм, такой, как я выше описал, то один хер что там, это не система и такой бэм не поможет никому
Pavel
у меня один вопрос, вот, кто на самом деле юзает stylelint?
Pavel
для верстки
Андрей
как вам такое количество классов?
Андрей
это яндекс
Pavel
а причину такого количества классов вы понимаете?
Pavel
про "перебарщивать с БЭМ" почитайте вот эту статью. это про то, что нужна система для управления сложность кодовой базы. если система есть, то она позволяет "общаться" разработчикам на "одном языке" https://benfrain.com/css-scaling-choose-isolation-or-abstraction-not-both/
Pavel
Pavel
а дизайн-система решает бизнес-задачи яндекса
Anonymous
Бэм крутая вещь
Андрей
каскады в бэме запрещены, но почему-то в верстке яндекса они есть
Андрей
значит бэм не так крут
Anonymous
От каскада никуда не деться
Anonymous
И в бэме сказано, что можно их использовать, но не злоупотреблять
Pavel
Pavel
иногда нужно в каком-то контексте повесить значение модификатору
Pavel
вот тогда каскад будет удобен
Pavel
но с появлением переменныз в css это позволяет без каскада обходиться
Pavel
например
.block {
background-color: black;
}
.button {
background-color: black;
}
.block .button {
background-color: white;
}
Pavel
вот такой каскад разрешен
Pavel
но без него теперь можно обойтись, переписав код вот так
:root {
--button-bg-color: black;
}
.block {
--button-bg-color: white;
background-color: black;
}
.button {
background-color: var(--button-bg-color);
}
Anonymous
Anonymous
тут уже модификатор
Pavel
это принцип открытости/закрытости компонента (SOLID O в ООП)
Anonymous
Это принцип бэма
Pavel
модификатор может быть и лучше, я лишь привел пример
Anonymous
Тут необходим модификатор, а не каскад
Pavel
я привел пример допустимости который может быть переписан без каскада
Anonymous
Я каскад применяю только в случае изменения поведения или же в текстовых блоках
Anonymous
есть идея насчет таблицы тв полей
для каждого тв-отдельная таблица.200 тв - 200 таблиц.
по имени тв - выбрать таблицу с таким же именем
а там будет 2 колонки ид_ресурса и значение.
а если тип число то сразу и тип поменять.- INT быстрее чем текст и места меньше.
сейчас select value from * where id_res= and id_tv=
будет select value from modx_tv_val_tv_name where id_res=
повесить на события чтение/запись в тв эти новые.
за счет разбивки будет доступ и запись быстрее в 100 раз, если там миллион записей.
🙈 PG
Xander
Gaius Cassius
Иван
Я пока даже придумать такой кейс в 200 tv
Gaius Cassius
Xander
Иван
Артур пишет тут, чтобы его не забывали )
Иван
Человек парсер
Gaius Cassius
Крайне любопытно. Продолжайте
фантазия богатая, че)
берем продажу мебели +- всякая другая фигня
на каждый параметр (длина, ширина, тип изделия, материалы и тд) - вешаем на тв и профит)
Как ни странно, видел такие сайты.
да, не 200 тв, но под 70+ точно