jQuery Masonry/ Изотопная структура жидкости с правильными желобами и без упаковки
Я работал над получением правильной компоновки, работающей с Masonry/Isotope. По пути я столкнулся с множеством препятствий, последнее из которых мне не удалось устранить.
Моими целями были:
- Включите макет сетки изображения изотопного флюида, который изменяет размеры фотографий на лету
- Расположите сетку изображения горизонтально по центру окна
- Имейте желоб, который не заставляет правую колонку A) обернуть, или B) показать смещение от центра
Я начал смотреть на этот вопрос: jQuery Isotope: настройка флюида, такая как веб-сайт Бейонсе, работает только после изменения размера окна, но, хотя и работает для решения этой насущной проблемы, она не обрабатывает желоба и несколько столбцов.
Мне удалось отредактировать jsfiddle выбранного ответа, чтобы очистить его и развернуть:
(Пожалуйста, простите за отсутствие разрывов строк, но jsfiddle создавал
Между колоннами портится водосточный желоб).
Мне удалось решить проблему № 1; Задача № 2 может быть легко решена путем создания родительского div с заданной шириной и margin: 0 auto;
; что оставляет нас с проблемой № 3:
Если вы используете CSS, чтобы добавить отступы или прозрачную рамку для каждого <li>
элементы (скажем, margin-right: 10px; margin-bottom: 10px;
или даже эквивалент с использованием border
), мы сталкиваемся с проблемой. Внезапно правильный столбец переносится в следующую строку! Это, конечно, ожидаемое поведение, и можно было бы решить, просто display: inline-block;
к <li>
элементы (что я сделал) и white-space: nowrap;
на родительский элемент (который я закомментировал).
К сожалению, если вы включите nowrap, это вызывает проблемное поведение, <ul>
элемент не подчиняется родителю <div>
ширина, и все изображения появляются в одной строке.
Главный вопрос: как я могу заставить это работать должным образом, чтобы у меня было три столбца, работающие с желобом между ними, но идеально выровненные справа и слева от родительского элемента? Я даже пытался создать плавающие изображения, но с изотопом происходит странное поведение.
1 ответ
Ага! Похоже, что я должен быть в состоянии сделать это с помощью следующего примера кода:
http://jsfiddle.net/remus/4fYUb/
Чтобы включить желоб, я просто добавил outline: 10px solid white;
к css.