Полезный jQuery плагин для каталогов (блоков с товарами), магазинов (блоков с товарами) и фотогалерей (блоков с фотографиями). Плагин liBlockSize дает возможность выровнять размеры блоков по высоте или ширине (максимальной/минимальной высоте, максимальной/минимальной ширине, максимальной/минимальной высоте/ширине).
Плагин liBlockSize работает во всех браузерах
Пример работы на JSFIDDLE
Подключаемые файлы
Инициализация плагина
Высота блоков очень часто зависит от полной загрузки содержимого, например такого как изображения, поэтому плагин инициализируем уже после полной загрузки всех изображений на странице с помощью $(window).load()
<script>
$(document).ready(function () {
$(window).load(function () {
$('.boxsize').liBlockSize({
type: 'max', //Тип выравнивания [max/min]
side: 'h', //Сторона выравнивания [h(высота)/w(ширина)/wh]
child: 'div' //Эл-т, который выравниваем [child: '.selector']
});
})
})
</script>
Структура HTML
Для примера выровняем 4 блока по максимальной высоте
Комментарии
Подскажите, а можно ли сделать так, чтобы эти колонки изменяли свою высоту по самой большой при ресайзе страницы?
Я пробовал методом тыка совмещать события resize и load — но не получилось, то, что надо.
http://jsfiddle.net/yurik417/FcNKC/35/
А можно ещё изменить скрипт таким образом, чтобы выравнивались не непосредственно дочерние элементы, а поглубже?
Допустим, такая разметка:
Здесь фото
Здесь фото
Здесь фото
Так вот, чтобы выравнивались блоки с классом image? Такое есть у UiKit, но там слишком уж у компонента размер большой :)
http://jsfiddle.net/FcNKC/37/
Я попробовал сделать вот так - http://jsfiddle.net/FcNKC/44/ - чтобы к блокам с разными классами в одной строке подключался этот скрипт, и он подключился. Теперь блоки с фотками могут выравниваться между собой, а блоки с текстом - между собой. Это хорошо!
Но вот выравнивание при ресайзе снова пропало, увы.
Выравнивания при ресайзе никогда и не было, но добавить не проблема:
http://jsfiddle.net/FcNKC/47/
RSS лента комментариев этой записи