Стандарт CSS для Masonry-раскладки: от идеи — к первым конкретным наработкам
Одним из самых больших разочарований CSS-гридов с самого их появления была невозможность решить задачу плотной упаковки блоков, известную как «Masonry-раскладка» (в честь самой популярной JS-библиотеки для нее). Алгоритм авторазмещения с ключевым словом dense
почти решает ее, но… лишь почти, к тому же упирается в досадное браузерное ограничение в 1000 грид-полос. Веб-разработчики давно просили добавить такую возможность в стандарт, но, как часто бывает в CSS, всё портила циклическая зависимость: размеры элементов зависят от размеров контейнера, которые, в свою очередь, зависят от размеров элементов. Поэтому дальше обсуждения на гитхабе дело не шло.
Но на этой неделе Мэтс Палмгрен из Mozilla внес новое, конкретное и подробное предложение, как относительно просто добавить в грид-раскладку возможности Masonry. Фактически это готовый черновик раздела спецификации, даже о тестах Мэтс не забыл. Табу Аткинсу, одному из главных редакторов спецификации, идея тоже нравится. При такой тщательности проработки есть все шансы, что новое предложение успеет войти уже в ближайший CSS Grid Level 2. Так что подключайтесь к обсуждению, чтобы не отставать от прогресса и помочь отладить новое предложение на самой ранней стадии!