Ответ 1
Вы также можете проверить подключаемый модуль jQuery Masonry для такого рода функций.
Я хочу реплицировать макет div Pinterest.com, в частности, как количество столбцов настраивается, чтобы больше/меньше соответствовать размеру браузера, а вертикальная укладка не зависит от соседних высот столбцов. Исходный код показывает, что каждый div является абсолютным положением. Один из основателей ответил на сообщение Quora, в котором говорится, что это делается с помощью пользовательских jQuery и CSS. Я бы хотел, чтобы результаты отсортированы слева направо. Любое направление, которое вы могли бы предоставить, чтобы сделать это сам, было бы весьма полезно.
Вы также можете проверить подключаемый модуль jQuery Masonry для такого рода функций.
Я написал Pinterest script. ID не связаны с макетом и используются для других JS, связанных с взаимодействием. Вот основа того, как он работает:
Заблаговременно:
Настройка массива:
Прокрутите каждый вывод:
Результат - легкий. В Chrome выкладывание полной страницы из 50+ контактов занимает < 10ms.
Мы выпустили плагин jQuery, потому что у нас один и тот же вопрос несколько раз для Wookmark. Он создает именно этот тип макета. Посмотреть здесь - Плагин Wookmark jQuery
Посмотрев на все варианты, я закончил реализацию макета, подобного Pinterest таким образом:
Все DIV:
div.tile {
display: inline-block;
vertical-align: top;
}
Это делает их положение в строках лучше, чем когда они плавают.
Затем, когда страница загружается, я повторяю все DIV в JavaScript, чтобы удалить промежутки между ними. Он работает хорошо, когда:
Преимущество этого подхода - ваш HTML имеет смысл для поисковых систем, может работать с отключенным/заблокированным JavaScript брандмауэром, последовательность элементов в HTML соответствует логической последовательности (более новые элементы до старения)
Они разделяют сущности по столбцам с идентификаторами (плохое решение... лучше использовать имена классов), а затем вычисляют позиции по группам столбцов
Вы можете использовать поплавки и размер вашей ширины div, используя проценты вместе с минимальной шириной, чтобы заставить divs автоматически падать, как только достигается минимальная ширина? Его способ, которым мы его работаем над http://www.goldtree.co.za/work
Почему вы не пытаетесь это сделать, просто js stuff
http://vanilla-masonry.desandro.com/index.html
Или даже это с jQuery и с загрузкой прокрутки.