Я хочу воспроизвести макет div Pinterest.com, в частности, как количество столбцов регулируется, чтобы соответствовать больше / меньше при изменении размера браузера, а вертикальное наложение не зависит от высоты соседних столбцов. Исходный код показывает, что каждый div является абсолютным. Соучредитель ответил на сообщение Quora, заявив, что это сделано с помощью пользовательского jQuery и CSS. Я хочу, чтобы результаты отсортировывались слева направо. Мы будем очень признательны за любое направление, которое вы могли бы предоставить, чтобы сделать это сам.
104
Ответы:
Вы также можете проверить подключаемый модуль jQuery Masonry для такого рода функций.
источник
Я написал скрипт Pinterest. Идентификаторы не связаны с макетом и используются для других JS, связанных с взаимодействием. Вот как это работает:
Заранее:
Настройте массив:
Пропустите каждый штифт:
Результат легкий. В Chrome размещение полной страницы из 50+ контактов занимает менее 10 мс.
источник
Мы выпустили плагин jQuery, потому что нам несколько раз задавали один и тот же вопрос для Wookmark . Он создает именно такой макет. Посмотреть здесь - плагин Wookmark jQuery
источник
Рассмотрев все варианты, я реализовал макет, похожий на Pinterest, следующим образом:
Все DIV:
Благодаря этому они располагаются в строках лучше, чем когда они перемещаются.
Затем, когда страница загружена, я повторяю все DIV в JavaScript, чтобы удалить промежутки между ними. Он работает достаточно хорошо, когда:
Преимущество этого подхода - ваш HTML имеет смысл для поисковых систем, может работать с JavaScript, отключенным / заблокированным брандмауэром, последовательность элементов в HTML соответствует логической последовательности (более новые элементы перед старыми)
источник
Они разделяют объекты по столбцам с идентификаторами (плохое решение ... лучше используйте имена классов), а затем вычисляют позиции по группам столбцов
источник
display: inline-block
Я полагаю, вы могли бы использовать , но предметы разной вертикальной высоты не будут сидеть вместе.float:left;
и последний сoverflow: hidden;
) и хранить элементы тамПочему бы вам не попробовать это, простые js-файлы
http://vanilla-masonry.desandro.com/index.html
Или даже это с jQuery и с загрузкой прокрутки.
http://masonry.desandro.com/index.html
источник
Вы можете использовать числа с плавающей запятой и размер вашей ширины div, используя проценты вместе с min-width, чтобы заставить div автоматически падать после достижения минимальной ширины? Так мы работали над http://www.goldtree.co.za/work
источник