HTML and CSS

HTML and CSS

{Лаборатория экстремальной web-верстки...}

Float, margin, padding, overflow:hidden;

Float, margin, padding, overflow:hidden;

Думал, все - тема закрыта, ан нет...

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

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

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

Контейнеру, в котором находятся колонки, количество колонок ограничено только вашими желаниями, назначается стилевое правило overflow:hidden; а всем колонкам margin-bottom:-32767px; padding-bottom:32767px;

О чем говорят данные параметры? Это один из способов спрятать не равенство колонок, максимально их, удлиняя, в тоже время, обрезая в зависимости от наполнения контентом, по самой высокой из них с помощью overflow:hidden;

Демо.

Минус присутствует, если указать нижний border любой из колонок, то вы его не увидите, исправляется прикруткой FOOTER-а.

Область применения новостной портал или, что-то подобное, где необходимо поместить массу информации в структурированном виде.

Браузеры: IE6(7), FF2.0, OPERA9.20.


RSS лента ВСЕГО блога с комментариями RSS лента ВСЕГО блога БЕЗ комментариев RSS лента этой КАТЕГОРИИ с комментариями RSS лента этой КАТЕГОРИИ и БЕЗ комментариев RSS лента ЭТОГО ПОСТА с комментариями к нему

30 мая 2007, 18:34
№ 1vlad random
еще минус... если в этих колонка находится какой либо объект на который ссылаются по ссылке типа #article, то в куда занесет браузер одному богу известно...
и еще минус... background-position:0 100%; и вы не увидите изображения, по сути аналогично поведению с бордером
есть более элегантное решение убирающее проблему ссылки (но не бордера и не бекграунда в IE):
частичная модификация твоего CSS:
#trifler {margin:5px auto 0;width:930px;display:table;}
#trifler div {
background:#eee;
border-left:#000 1px solid;
border-right:#f00 1px solid;
width:230px;
display:table-cell;
}
* html #trifler div {
float:left;
margin-bottom:-32767px;
padding-bottom:32767px;
overflow:hidden;
}
*+html #trifler div {
float:left;
margin-bottom:-32767px;
padding-bottom:32767px;
overflow:hidden;
}
и в конце удаляем
30 мая 2007, 20:01
№ 2
Про ссылку, видимо чего-то не понимаю ;)
Решение проблемы нижнего border-а предлагалось
background-position:0 100%; не проверял, на вскидку вложенный div и {background:url() repeat-y;} для него, надо посмотреть.

Посмотрите предложенное вами в OPERA и FireFox, мне не понравилось.
gordi

Трекбэки:

10 февраля 2010, 11:47
Последняя редакция: 1 июня 2009 г. Оглавление Основные приемы CSS-верстки Верстка в несколько колонок Как я делаю две колонки (CSSing) В поисках Святого Грааля (Design For Masters) Простой двухколоночный макет (Zhilinsky) Простой прием или колонки одинаковой высоты (CSSing) "Float, margin, padding, overflow:hidden;" (колонки одинаковой высоты) (Trifler.ru) Кроссбраузерный inline-block (Grakhov.
Адрес заметки: http://trifler.ru/blog/post_1180521818.html
Ваш комментарий к статье:



cod


Примечание:
Обязательные для заполнения поля помечены карандашом
email при указании не будет опубликован.
Адреса с http:// преобразуются в ссылки автоматически
Теги запрещены
English German French Spanish Italian Japanese
  • Programming V. Lasto
  • Designer S. Gordi
  • Created in 0,02364 seconds
  • © 2007-2010