IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   div высотой в документ (http://www.imho.ws/showthread.php?t=65916)

WMRomik 09.08.2004 05:07

div высотой в документ
 
Вложений: 1
Такая вот проблема меня замучала, что-то никак не выходит у меня каменный цветок...
как сделать слой с всеми его аттрибутами видимым во всю высоту документа, а не окна браузера?

в IE работает покуда есть контент данного слоя, кончился контент кончился и слой, это логично, но как сделать так, что бы он всё же дорисовался до самого конца, покуда не закончится всё содержимое?
причём в мозилле и опере и того нет, 100% окна, не более...
я прилепил "исходничек" по нём будет совсем понятно что я хочу.
если кто в курсе, помогите, пожалуйста.
а то какое-то безобразие получается... у меня уже мозги опухли, чес. слово...

denver 09.08.2004 05:46

WMRomik
Что-то не понятно мне.
Цитата:

в IE работает покуда есть контент данного слоя, кончился контент кончился и слой, это логично, но как сделать так, что бы он всё же дорисовался до самого конца, покуда не закончится всё содержимое?
...все содержимое чего? контента? так он и так будет весь обрамлен (в ИЕ).
Цитата:

причём в мозилле и опере и того нет, 100% окна, не более...
А это потому что стопроцентная высота не должна использоваться вовсе если не задана абсолютная высота бокса содержащего данный бокс. Убери height: 100% вовсе (и везде) и будет отображаться так же как в ИЕ.

А если надо чтобы высота элементов равнялась высоте самого высокого (как если бы это было в таблице) тогда не понятно как должен выглядеть средний блок :-/

WMRomik 09.08.2004 12:23

ОК. задам вопрос корректней.
мне нужен слой, без какого-либо контента, торчит слева: айди=слой1 топ=0 лефт=0 вайд=140 высота=(х.з.)~100% покрашен=серый
и другой слой: айди=слой2 топ=0 лефт=150 и т.д. он содержит контент.

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

этот слой (слой1) мне нужен как бэкграунд, на самом деле. чисто для красоты.
при условии наличия картинок - проблем нет (вайд... репит-у фиксед) и всё на ура. Но условие обратное: никаких картинок.

вообще, мне уже кажется, что так и нельзя сделать.
но я хотел бы в этом удостовериться. вот.

пусть там будет что угодно, таблица, изврат какой, но только не картинка.

Hubbitus 09.08.2004 15:35

А почему нужно именно абсолютное позиционирование, почему не запихать просто все в таблицу и все?

denver 09.08.2004 16:46

Вложений: 1
Прикрепил вариант который работает как надо в IE, в мазиле же как и раньше максимум обрамляется величина экрана. Что-то ничего не могу сделать лучше :-/

Таблицами это конечно самое простое что приходит в голову, но я думал условие задачи - только с помощью css...

Ну а если это все для красоты... Можно сделать один большой див (с серым фоном), а в нем уже 3 остальных. Посредине будет белый. Все красиво но только вот не будет borders (так как обрамляться все равно будет только контент) зато серого фону будет на весь документ.

WMRomik 09.08.2004 21:07

Спасибо!!!
Часть дела сделано, уф...
вот так работает теперь и в Опере 7.54
Код:

#left {
position:absolute;
top:0;
left:0;
float:left;
padding:0;
width:200px;
height:100%;
MAX-HEIGHT:100%;
MIN-HEIGHT:100%;
color:#333;
background:#1aeaea;
border:1px solid #333;
}

Бьюсь дальше. На очереди Мозилла ;)

Я думаю глупо всё же скрывать то, зачем мне это нужно.
Вот тут живёт вся инфа по этой моей "запарке":
_http://www.rejetto.com/forum/viewtopic.php?t=1650&sid=cc2b4f02679aa17ba58390afe386849e
Я просто уже много чего попробовал, и мне теперь просто несерьёзно оставлять это в убогом виде. Времени не так много на подобные упражнения, к сожалению.

denver 11.08.2004 17:10

Вложений: 2
WMRomik
Уффф.. попробовал сделать сразу для твоего случая. Если я правильно понял задача была сделать левую колонку минимум высотой в экран и максимум высотой в контент (если он выходит за экран). Все вроде работает (прикрепил).

Некоторые моменты:
1. 100% height надо устанавливать и у body и у html (для корректого отображения в Opera и Mozilla).
2. У самого контента (который с бордерсами)
Для мазиллы: НЕ надо устанавливать height: 100%;
Для оперы и мазилы: установить min-height: 100% (работает везде только не в IE);
Для IE: установить height: expression('100%') (выражения работают только в IE).

ЗЫ. Под оперой только вот почему-то вверху промежуток небольшой (заметно если везде убрать паддинги) :-? а под нетскейпом внизу... Поэтому случается вертикальный скролл. Ну да это тоже при желании можно решить.

ЗЫ2. Да, в данном случае бокс левой колонки не должен быть длиннее экрана (кажись у тебя там практически ничего то и нет), иначе решение будет не таким лаконичным.

--------------------------------------------
Вот окончательный вариант (divheightfinal2.zip). Без всякого мусора в теле и одинаково отображающийся везде.

WMRomik 14.08.2004 16:18

denver
Спасибо.
Чуток по другому организованы слои, но в принципе всё понятно.
Правда с этими dtd у меня javascript перестал функционировать под
Мозиллой. Когда же они все между собой договорятся в конце-концов...


Часовой пояс GMT +4, время: 02:16.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.