![]() |
DIV-Layout - три горизонтальные области: [150px] [*] [150px]
Вложений: 1
Всем привет!
Знает ли кто, как реализовать шаблон, горизонтльно разделенный на три области, где высота верхней и нижней фиксированные, а средней -- резиновая, при этом занимающая всю площадь между двумя остальными? (см. аттач) Спасибо. |
Братцы, ну что, правда никто не знает? :eek:
Я тут накопал пример. В принципе реализует то, что я описал, но как-то "нелегально" -- с орицательными margin, c div'ами-распорками... Неэстетично, в общем. Может, есть все-таки идеи лучше? |
Что значит - "нелегально" ? Пошустрому код движка браузерного подменяет, а потом рендерится ?
|
это называется футер прилипающий к низу страницы
http://scott.sauyet.com/CSS/Demo/FooterDemo1.html пример очень даже хорош. ничего нелегального в нём нету. отрицательные маргины это хорошо. дивы-распорки от случая. но тож норм. |
Я знаю! FRAMESET!
|
Цитата:
Код:
/* SBMH -- see http://css-discuss.incutio.com/?page=BoxModelHack |
А вот на https://opay.ru - без всякого нелегала и изысков сделан нижний див. Но с отрицательными маргинами и распоркой :)
|
Цитата:
|
Обратные слеши и коммент, что это хак. Вот и нелегальность. Разве не так? Что это за CSS, где нужно так извращаться и обманывать браузер?
|
Цитата:
css ведь должен избавить нас от основного "хака" - табличной верстки. а тут получается тот же хер, только в профиль - избавились от одного хака посредством другого. |
Цитата:
как только они уйдут в небытие как 4я серия, про хаки можно забыть. уже сейчас если не нужны 5е версии ие (как в массе делают на западе) забудь про этот хак. |
Спасибо за пример -- в самом деле неплохая штука. Я попробовал чуть-чуть очистить код от лишнего. Вот, что получилось ("main" и "contents" я поменял местами -- мне так больше нравится):
Код HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">Код HTML:
html, body, #main {А в остальном лэйаут очень даже секси. )) |
Вот еще одно решение. Мне оно нравится намного больше, чем те, что я встречал до этого. Валидатор, если чуток поработать над кодом напильником, тоже вполне доволен.
Вот код, который я выпилил из этогопримера: CSS Код HTML:
* {Код HTML:
<?xml version="1.0" encoding="iso-8859-1"?> |
Предлагаю еще немного поработать над проблемой.
1.В ИЕ при приведенном выше лэйауте всегда появляется скролл. Высота страницы равна, насколько я понял 100% + высота хэдера + высота футера. 2. Высота средней области в Лисе зависит от наполнения. А что, если страница должна быть поделена на три области разных цветов (см. первое сообщение)? Можно, конечно, использовать в качестве цвета для "середины" цвет дива-контеёнера. Неэлегантно, но, может, всех устроит. Усложняем: нужны три области и рамка "double", основной цвет которой, скажем, оранжевый, а пространство между внешней и внутренней частью не совпадает по цвету со "средним" дивом. В ИЕ это не проблема -- он иначе чем Лиса интерпретирует рамки, и поэтому там просвечивает цвет BODY. А в Лисе что делать? Идеи? |
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
Очень хорошее элегантное решение.
1. Может кто-нибудь, у кого Мас, посмотреть, как это в Safari? 2. Осталась проблема с рамкой. |
Цитата:
а что с бордерами? |
То, что я описал в посте перед твоим постом с кодом. Что делать, если содержимое страницы должно иметь бордер? Если я ставлю бордер для #wrap, он, естественно, делает горизонтальный скролл.
|
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
Выглядит чудесно, но я не об этом -- штука в том, чтобы бать бордер общему контейнеру (в твоем примере это, как я уже писал, #wrap). (Если бы это была таблица с тремя строками, то это выглядело бы так: TABLE {border : 6px double #ff9900;}.)
|
1) не TABLE { а TABLE TD{
2) если я правильно понял, то что ты хочешь невозможно на сегодняшний день сделать в общем виде. нужно будет делать конкретно под шаблон. покажи шаблон, придкумается что-нибудь. |
Вложений: 1
Цитата:
Цитата:
В общем, привожу картинку. Давайте ломать голову вместе. |
Вложений: 1
Вот решение (см. аттачмент).
100% валидно: XHTML 1.0 Strict & CSS 2, 2.1, 3 Протестировано на FF 2.0 und IE 7.0 (кстати, как это смотрится на в других браузерах?). Всем спасибо! |
Цитата:
фф и опера таксебе. -- скролл есть всегда, бо бордеры + 100% но если тьфу на скролл то работает везде. |
|
@KidsKilla
ОК, спасибо. @AlexSol А как ты сам думаешь? |
| Часовой пояс GMT +4, время: 18:11. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.