Ув. знатоки, подскажите как на БЭМ реализовать адаптивную страницу.
К примеру есть блок, кторый на смартфоне должен быть маленьким, а на
десктопе большим. Если следовать БЭМу, то размер тут является состоянием
элемента и должен задаваться модификатором, примерно так:
.block {
/*какие-то стили*/
}
.block_size_small {
/*size: small;*/
}
.block_size_big {
/*size: big;*/
}
Собрать разные страницы под разные экраны не проблема, прописывай
разные модификаторы и будет тебе счастье, но что если мне нужна
адаптивность, что если страница у меня одна и стилизация ее наполнения должна
меняться в зависимсти от размеров экрана. Первое что приходит в голову - это
отказаться от модиикаторов и сделать так:
.block {
/*какие-то стили*/
}
@media (max-width: 600px) {
.block {
/*size: small;*/
}
}
@media (min-width: 600px) {
.block {
/*size: big;*/
}
}
Но тогда это все не вписывается в идеологию БЭМ, т.к. состояние хранится
непосредственно в стилях блока. Получается такой себе велосипед. Второй
вариант, кторорый крутится в голове - это отлавливание размеров экрана
и переключение модификаторов из JS, но при большом количестве элементов это
все становится слишком проблематично и трудоемко.
Есть ли другие варианты решения проблемы или БЭМ априори не подходит для
таких задач?