Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Работа над сайтом > HTML/DHTML/CSS/JS/VB

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.11.2008, 15:37
atillus вне форума Посмотреть профиль Отправить личное сообщение для atillus Найти все сообщения от atillus
  № 1  
Ответить с цитированием
atillus

Регистрация: Apr 2006
Сообщений: 4
По умолчанию CSS - резиновая высота DIV - уже голова трещит :(

Добрый день!
Провел множество часов в поиске доков и примеров по CSS, но не нашел корректно работающего во всех браузерах (я беру ИЕ, Файрфокс и Оперу) решения данной проблемы.
Нашел только решение с применением JavaScript, то ведь должно быть чисто CSS - решение... не верится что нет !

Итак:
Содержимое файла index.html
Цитата:
<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div class="main">
<div class="top"><strong>ШАПКА САЙТА </strong></div>
<div class="left">
<p><strong>МЕНЮ САЙТА</strong></p>
<p>раздел сайта</p>
<p>раздел сайта</p>
<p>раздел сайта</p>
<p>раздел сайта</p>
<p>раздел сайта </p>
</div>
<div class="right">
<h1>Заголовок 1. </h1>
<p>Абзац 1. Текст статьи под заголовком 1. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. <br />
Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. </p>
<p>Абзац 2. Текст статьи под заголовком 1. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. </p>
<h1>Заголовок 2. </h1>
<p>Абзац 1. Текст статьи под заголовком 2. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. <br />
Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи. Далее идет текст статьи.</p>
</div>

<div class="bottom"><strong>&quot;Подвал&quot; сайта </strong></div>

</div>
</body>
</html>
Содержимое файла style.css
Цитата:
html, body
{
height: 100%;
}

.main
{
width: 920px;
margin: 0 auto;
padding: 10px;
background-color: #D4D0C8;
overflow: hidden;
}

.top {
margin: 0px;
padding: 0px;
width: 100%;
background-color: #99FF66;
height: 80px;
}
.left {
background-color: #999999;
float: left;
width: 20%;
margin: 0px;
padding: 0px;
height: inherit;
overflow: hidden;
}
.right {
margin: 0px;
padding: 0px;
float: right;
width: 80%;
background-color: #FFFF99;
}
.bottom {
width: 100%;
height: 25px;
padding: 0px;
background-color: #999900;
margin: 0px;
float: left;

}
КАК сделать высоту слоев left и right, чтобы по высоте они занимали все пространство от top до bottom НЕЗАВИСИМО от количества содержимого в них!
То есть, если в "left" содержимого больше, чем в "right" - то "right" растянется по высоте до уровня "bottom",
а если в "right" содержимого больше, чем в "left" - то "left" растянется по высоте до уровня "bottom".


Прошу помощи!


Последний раз редактировалось atillus; 11.11.2008 в 15:43.
Старый 11.11.2008, 18:41
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 2  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
http://www.webmascon.com/topics/coding/43a.asp

Старый 12.11.2008, 14:25
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 3  
Ответить с цитированием
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
Цитата:
То есть, если в "left" содержимого больше, чем в "right" - то "right" растянется по высоте до уровня "bottom",
а если в "right" содержимого больше, чем в "left" - то "left" растянется по высоте до уровня "bottom".
в чистом виде это невозможно.

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

в сложных случаях жаваскрипт -- оптимально.

ПС, вместо того чтобы тратить время попусту просто потому что "не верится" лучше читайте спецификации и документацию разработчиков.
__________________
Breakcore them all!

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:54.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.