вопрос по верстке с применением слоев

<BOBER-3>
На сайте с 16.07.2005
Offline
71
667

<DIV id=s1 style="width:777px;">

bla...bla...bla...bla...bla...
<DIV id=s2 style="width:123px;height:100%;">
bla...bla...bla...bla...bla...
</DIV>
bla...bla...bla...bla...bla...
</DIV>

как можно заставить слой s2 принимать высоту слоя s1, без указания фиксированной высоты слоя s1? :rolleyes:

«Катастрофы дизайна (http://designs-crash.blogspot.com/
[Удален]
#1

Вопрос бредовый.

Если height не задавать первому слою, он тянется по контенту, т.е. по содержимому слоя s2

и высота у них всегда будет одинаковая.

Иначе нужно задавать Min-height (и сопуствтующие костыли под IE6) для s2

А высоту в процентах при верстке в режиме соответствия стандартам указывать бесполезно.

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


window.onresize=function()
{
var obj=document.getElementById('s2');
obj.style.height=obj.parentNode.offsetHeight+'px';
}

Только еще паддинги и маргины надо учитывать. Мрак короче

<BOBER-3>
На сайте с 16.07.2005
Offline
71
#2

neolord, бредовых вопросов не бывает ;)

за ответ благодарю, интересней были бы варианты без яваскрипта, так и сами умеем :)

если кто еще что может написать - пишите, просто ради интереса, вопрос решен еще вчера :)

dkameleon
На сайте с 09.12.2005
Offline
386
#3

<style type="text/css">
#s1 {
border: 1px solid red;
position: relative;
}

#s2 {
border: 1px solid blue;
position: absolute;
top: 0;
bottom: 0;
}

</style>

<DIV id=s1 style="width:777px;">
bla...bla...bla...bla...bla...
<DIV id=s2 style="width:123px;height:100%;">
bla...bla...bla...bla...bla...
</DIV>
bla...bla...bla...bla...bla...
</DIV>
Дизайн интерьера (http://balabukha.com/)
<BOBER-3>
На сайте с 16.07.2005
Offline
71
#4

dkameleon, немного невнимательно прочитали вопрос

height s-второго должна быть равна height s-первого, а не просто чтоб слой висел у него в верхушке :)

dkameleon
На сайте с 09.12.2005
Offline
386
#5
<BOBER-3>:

height s-второго должна быть равна height s-первого, а не просто чтоб слой висел у него в верхушке

тогда интересно уидеть ваш вариант :)

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

ИЕ
На сайте с 16.01.2009
Offline
3
#6

хм, а вы не хотите попробовать просто дать ему как стиль свойство height:100%;

Что просто будет означать 100% родительской ширины. Если контента в слое s2 будет больше то воспользуйтесь свойством overflow.

Если я, что-то не правильно понял или написал извините.

Верстающая домохозяйка.
<BOBER-3>
На сайте с 16.07.2005
Offline
71
#7
dkameleon:
тогда интересно уидеть ваш вариант :)

мой вариант... это... я париться долго не люблю... мой вариант на таблицах :D

dkameleon:
так как при изменении высоты внешнего блока должна увеличиться высота внутреннего, что повлечёт изменение внешнего. == рекурсия.

угу, только перепутали в первой части немного внутренний с внешним :)

Игорь Ермаков:
хм, а вы не хотите попробовать просто дать ему как стиль свойство height:100%;
Что просто будет означать 100% родительской ширины. Если контента в слое s2 будет больше то воспользуйтесь свойством overflow.
Если я, что-то не правильно понял или написал извините.

немного не так:

<BOBER-3>:
как можно заставить слой s2 принимать высоту слоя s1, без указания фиксированной высоты слоя s1? 🙄

т.е., если бы height у s1 была прописана, все было бы верно, а так - нет...

мне кажется, должна все же быть какая-то привязка, буду копать :) 🍻

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий