Я строй CSS-сайту и не решить эту проблему частичной:Авто-растягивать многослойный фон CSS по размеру контента
На левой стороне есть коробка, которая состоит из трех изображений. Верхнее изображение, (дополнительное и растянутое) среднее изображение и нижнее изображение.
Я хочу, чтобы окно слева автоматически растягивалось, если внутри содержимого больше. Это уже работает с правой стороны с моим текущим кодом. (я помещаю обе колонки в контейнер div и устанавливаю левый квадрат на высоту: 100.)
Но теперь в левом поле также будет содержаться контент. Это содержимое переполняется, потому что я устанавливаю левое поле в положение: абсолютное. Таким образом, он не увеличивает размер.
Мне не удалось получить этот эффект без позиции: абсолютный, хотя. Я попытался с помощью поплавка и т.д.
Вот пример кода:
<body>
<div id="centerwrapper">
Header etc<br/>
<div id="verticalstretcher">
<div id="bgtop">
<div id="bgbottom">
<div id="bgmiddle">
</div>
</div>
</div>
<div id="content">
Content here will auto-stretch the container vertically (and the box to the left!)
</div>
</div>
Footer etc<br/>
</div>
</body>
С помощью этой таблицы стилей:
#centerwrapper {
width: 500px;
margin: 0 auto;
}
#verticalstretcher {
position: relative;
min-height: 280px; /* Sum of the top and bottom image height */
width: 100%;
background-color: orange;
}
#bgtop {
position: absolute;
width: 185px; /* width of the bg images */
height: 100%;
background: url(css/img/bg_navi_left_top.gif) no-repeat;
}
#bgbottom {
position: absolute;
width: 100%;
height: 100%;
background: url(css/img/bg_navi_left_bottom.gif) bottom no-repeat;
}
#bgmiddle {
position: absolute;
width: 100%;
top: 250px; /* Don't cover top GIF */
bottom: 15px; /* Don't cover bottom GIF */
background-color: yellow; /* Repeated image here */
}
#content {
margin-left: 200px; /* Start the text right from the box */
}
Похоже, это (Цветное ее для лучшего понимания):
alt text http://img688.imageshack.us/img688/802/layoutsample.png
Желтая часть на самом деле является стрелой tched image, я оставил его для примера, он работает так, как ожидалось.
Как добавить текст в левое поле, которое также растянет его? Или это возможно с помощью TABLE вместо CSS в этот момент?
EDIT: решение BitDrink выглядит таким образом в моем браузере (текущий FF)
alt text http://img502.imageshack.us/img502/1241/layoutsample2.png
Забавно, я уже читал статью о равной высоте, когда увидел ваш комментарий. В моем конкретном случае понадобилось некоторое изменение, но оно решило главную проблему. – Tarnschaf