Псевдоколонки
Dan Cederholm, 12 августа 2007
Начинающие дизайнеры часто задают вопрос: «Как сделать так, чтобы фон колонки растягивался на всю высоту страницы». На самом деле это очень просто, и возможно вы уже знакомы с некоторыми способами, но для тех, кто еще не знает ответа на этот вопрос, я хочу предложить свою технику.
Вертикальное растягивание
Задача усложняется тем, что в CSS блок растягивается ровно на столько, сколько требуется, чтобы вместить все содержимое (если высота не задана явно), например, если блок содержит изображение высотой 200px, то его высота будет равна тем же 200px.
При создании многоколоночных разметок с помощью CSS, одна из колонок может быть больше другой, в зависимости от количества контента в них, что приводит к понятным сложностям, если нужно сделать колонки одинаковой высоты, с разным цветом фона.

Есть несколько способов сделать колонки одинаковой высоты, независимо от количества контента содержащегося в них. Я хочу рассказать о своем решении проблемы, которое отличается простотой реализации, и используется на многих сайтах, в том числе и на A List Apart.
В чем хитрость
Весь секрет заключается в использовании повторяющегося по вертикали фонового изображения, для создания иллюзии колонок с разным фоном. Для SimpleBits, я сделал изображение с декоративными полосками по краям, коричневой правой колонкой и широкой полоской белого цвета для области контента.
![]()
Несмотря на то, что высота изображения всего несколько пикселей, повторяемое многократно, оно легко создает иллюзию колонок одинаковой высоты.
CSS
Чтобы техника работала, достаточно одного простого правила:
background: #ccc url(../images/bg_birch_800.gif) repeat-y 50% 0;
Мы делаем фон страницы серым, а изображение многократно повторяем по вертикали (repeat-y). Цифры 50% 0 указывают, что изображение нужно центрировать относительно элемента body и начать повторять с самого верха страницы.
Позиционирование колонок
Позиционировать колонки можно любым удобным способом, для этого подойдет как float, так и абсолютное позиционирование.

Если вы хотите добавить границы или отступы для одной из колонок, и не получить при этом проблем в IE5.x нужно использовать исправления от Тантека Челика Box Model Hack или Mid Pass Filter, для IE6+ достаточно указать правильный DOCTYPE. Если в отступах или границах нет необходимости, и используются только поля, то эти исправления не нужны.
Не стоит забывать, что в браузере пользователя может быть отключено отображение графики, поэтому цвет текста и фона нужно подбирать так, чтобы он оставался читабельным и в таком случае.
Примеры: разметка фиксированной ширины, резиновая разметка.
PS
Несмотря на свою простоту, эта техника позволяет решить одну из серьезных проблем, с которой сталкиваются дизайнеры при разработке разметок основанных на CSS.
Translated with the permission of A List Apart Magazine and the author[s].

















engel 12 августа, 2007 22:33 #
По-моему, вам не помешает литературный редактор -) Очень много пунктуационных ошибок.
pepelsbey 12 августа, 2007 22:35 #
Плакал ) Это всё-таки псевдо-колонки, а не ложные колонки.
Тантека зовут Челик, он турок и первая буква в его имени не «C» — ?elik.
Но опять же — спасибо ;) Хоть и не так свежо.
smmurf 12 августа, 2007 23:05 #
А я как раз буквально на днях задумывался, перечитывая оригинал, как перевести эти Faux Columns, правда тоже пришел к переводу "ложные колонки" -)
Статья, по-моему, просто классика, неужели еще не была переведена? -)
pepelsbey 12 августа, 2007 23:20 #
Сама статья точно переводилась, но я никак не могу отыскать оригинал…
Но вот по мотивам: http://cssing.org.ua/2004/09/10/flex-faux/
Евгений 13 августа, 2007 6:31 #
К сожалению, это едва ли возможно, но постараюсь найти хороший учебник русского языка, при этом очень надеюсь на помощь читателей, сообщайте об ошибках с помощью Ctrl+Enter.
С турецким у меня совсем уж плохо, даже алфавит не знаю :), хотя можно было и погуглить.
возможно, но я нигде не видел.
Ага, вот он способ, с двумя резиновыми колонками, нужно себе стащить примерчик.
Makes 13 августа, 2007 10:57 #
Ну и, конечно, http://www.positioniseverything.net/articles/onetruelayout/equalheight
Шильгия 13 августа, 2007 11:22 #
> К сожалению, это едва ли возможно
ну почему же? :)
Sam 13 августа, 2007 12:52 #
Спасибо за напоминание. Попробую сейчас совместить с абсолютным позиционированием...
Sam 13 августа, 2007 13:07 #
Занятно вышло:
http://rmcreative.ru/playground/absolute100/
Sergeich 13 августа, 2007 21:22 #
С год назад делал для своего сайта резину в 3 колонки. Вроде бы работает, правда после выхода ИЕ7 люди стали говорить, что уползает подвал в даль далёкую. Но в общем и целом всё работает.
Ссылка: http://www.pereslavl.info
Евгений 13 августа, 2007 22:55 #
Шильгия
Да как то не попадалось желающих, безвозмездно поработать.
Sergeich
Похожая техника для создания колонок одинаковой высоты предлагается в статье В поисках Святого Грааля, к сожалению в IE7 она действительно не работает, поэтому я не стал бы ее использовать, хотя возможно проблему можно и решить.
Кстати прекрасный пример, почему не нужно использовать различные хаки и особенности поведения браузеров, во многих случаях лучше использовать максимально надежный вариант, и отказаться от какой нибудь не очень важной "фишки". ИМХО, конечно.
Sam
Колонки это не проблема, а вот стандартно и кроссбраузерно прилепить футер к низу, это едва ли, и хотя такие техники существуют, я бы не стал ими пользоваться по причине о которой упомянул выше, но если все таки добьетесь положительного результата, хотелось бы на него взглянуть.
leMur 14 августа, 2007 12:38 #
Бога ради поменяйте название с "Ложные колонки" на "Псевдо колонки"
Евгений 14 августа, 2007 13:04 #
И как же все-таки назвать?
Предложено два варианта:
А, исходя из правил, получается:
Остановлюсь все таки на последнем.
smmurf 14 августа, 2007 13:09 #
Правильно назвали -)
Хотя на мой взгляд предыдущее название тоже было вполне нормальным, но раз "народ требует"... -)
Евгений 14 августа, 2007 13:17 #
Видимо, многим название Псевдоколонки кажется более привычным и подходящим, а если так то я только за.
your7 14 августа, 2007 21:56 #
«Правила русской орфографии и пунктуации» в формате CHM.
Онлайн-версия «Справочника по правописанию и стилистике» Д.Э.Розенталя
Евгений 14 августа, 2007 22:01 #
Большое спасибо, от всей души.
Sergeich 28 сентября, 2007 23:13 #
Вот кстати решение этой проблеммы с помощью mootools: http://www.visuallizard.com/nathan/136/185
насколько действенно не знаю, в опере вроде бы работает, в других браузерах не проверял.