Колонки одной высоты

Колонки одной высоты

От автора: Если вам приходится отображать на веб-странице множество колонок, то вы наверняка уже столкнулись свопросом, когда требуется, чтобы все эти колонки были одной высоты. Проблема в том, что когда в них содержится разное содержимое, некоторые колонки будут больше других, что нарушит дизайн сайта.

При добавлении содержимого в блоки те могут перестать выравниваться, так как у вас ни за что не получится поместить одинаковое количество контента в каждую из колонок, и одна из них обязательно станет больше соседней.

Как сделать обе колонки одного размера

Эта проблема решается несколькими способами: можно применить метод на основе одного лишь CSS, либо сделать это при помощи Javascript’а. В данном учебнике колонки одинакового размера будут созданы с помощью трех методов CSS и одного метода jQuery. В демо примере видно, как колонки одного размера создаются разными техниками.

Демопример

Относительно расположенный упаковщик

Методом относительно расположенного упаковщика колонки располагаются внутри DIV’а-упаковщика, а затем можно применить к этому DIV’у-упаковщику position: relative. Затем добавить к колонкам position: absolute, установив top: 0, что поместит колонки поверх упаковщика, и установить bottom: 0, отчего они обе окажутся во всю высоту div’а-упаковщика.

Из-за position: absolute нельзя воспользоваться margin для создания отступов между разными колонками, поэтому нам придется применить ко второй колонке свойство left.

Решение проблемы с помощью таблиц CSS

Метод таблиц CSS определяет DIV’ы HTML как таблицу, которая заставит браузер отображать эти элементы в точности так, как они повели бы себя с таблицей HTML. HTML для этой цели может быть в точности таким же, как для относительно расположенного упаковщика: у него имеется DIV-упаковщик с двумя колонками внутри.

Чтобы создать их как таблицу CSS, нужно определить как таблицу DIV-упаковщик; добиться этого можно свойством display со значением table. Далее нам требуется определить колонки как ячейки внутри таблицы, это снова делается с помощью свойства display, на этот раз со значением table-cell. Потом нам остается всего-навсегозаявить, что размер колонок составляет 100% размера таблицы.

Решение проблемы с помощью таблиц HTML

Решение проблемы с помощью HTML– это старомодный способ фиксирования разметки веб-сайта до применения CSS, и все, что нужно сделать – убедиться, что высота обеих колонок составляет 100% высоты таблицы.

Решение проблемы с помощью jQuery

Решение на основе jQuery может вам показаться не самым чистым и красивым, но у него имеется реальное преимущество – не приходится менять ранее созданные HTML и CSS. HTML здесь означает, что у нас окажется просто две заполненные контентом колонки.

В этом решении CSS всего лишь определяет стили DIV’а, делая его определенной ширины с помощью margin, создающих вид колонок.

Далее нам требуется создать функцию jQuery, которая изменит размер колонок таким образом, чтобы те стали одинаковой высоты. Следующая функция проведет поиск по всем колонкам и получит высоту самой длинной из них. Затем эту высоту можно сохранить в переменной и поменять колонки так, чтобы они стали равными этой высоте.

Источник: //www.paulund.co.uk/

Редакция: Команда webformyself.

Метки: ,

Похожие статьи:

Комментарии Вконтакте:

Комментарии (4)