Свойство columnWidth в библиотеке
Masonry является одним из ключевых параметров,
определяющих расположение элементов сетки. Оно задаёт ширину колонок, по
которым библиотека будет выстраивать блоки, и напрямую влияет на
визуальную гармонию и плотность сетки.
columnWidth1. Числовое значение
Можно задать конкретную ширину в пикселях:
var msnry = new Masonry('.grid', {
itemSelector: '.grid-item',
columnWidth: 200
});
В этом примере каждая колонка будет ровно 200px. Masonry рассчитает количество колонок исходя из ширины контейнера и будет автоматически размещать элементы по вертикали, оптимизируя свободное пространство.
Преимущества:
Недостатки:
2. Использование селектора элемента
Вместо числового значения можно указать CSS-селектор:
var msnry = new Masonry('.grid', {
itemSelector: '.grid-item',
columnWidth: '.grid-sizer'
});
Здесь .grid-sizer — это элемент внутри контейнера,
ширина которого задаёт размер всех колонок. Такой подход позволяет:
Пример HTML структуры:
<div class="grid">
<div class="grid-sizer"></div>
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
</div>
.grid-sizer {
width: 25%; /* задаёт четыре колонки */
}
columnWidth с percentPositionЕсли используется относительная ширина колонок (например, проценты),
следует включить параметр
percentPosition: true:
var msnry = new Masonry('.grid', {
itemSelector: '.grid-item',
columnWidth: '.grid-sizer',
percentPosition: true
});
Это гарантирует корректное вычисление ширины колонок на любых разрешениях и адаптивное поведение сетки.
Если columnWidth не задан, Masonry автоматически
использует ширину первого элемента itemSelector для расчёта
колонок. В этом случае сетка становится более динамичной, но контроль
над точным размером колонок теряется.
var msnry = new Masonry('.grid', {
itemSelector: '.grid-item'
});
columnWidth.grid-sizer) и CSS-проценты.columnWidth с
gutter для отступов между колонками.itemSelector — определяет элементы,
которые будут расположены по колонкам.gutter — добавляет отступ между
колонками; columnWidth учитывает эти отступы при
расчёте.fitWidth — при включении центрирует
сетку в контейнере; комбинируется с columnWidth для ровного
выравнивания.columnWidthСвойство columnWidth определяет
структуру и плотность сетки Masonry. Правильное его использование
обеспечивает:
Настройка columnWidth — это фундамент для стабильной и
красивой Masonry-сетки, особенно при работе с разными типами контента и
мультимедийными элементами.