
07.08.2012, 01:51
|
 |
Аспирант
|
|
Регистрация: 06.02.2012
Сообщений: 50
|
|
|
Разные вопросы по элементам интерфейса от wmag -_-
Вот думаю, что б не засорять поток, буду все вопросы, возникающие по ходу обучения задавать в одной теме.
вопрос 1: как привязать блоку div высоту другого блока div ?
подробности: код генерируется PHP, высота исходного ДИВ неизвестна, т.к. меняется на разных страницах.
а вот ДИВ блока должен быть завязан на высоту первого блока, ибо от этого зависит внешний вид страницы.
|
|

07.08.2012, 02:06
|
|
Интересующийся
|
|
Регистрация: 08.04.2010
Сообщений: 16
|
|
|
Поясните условие. Как расположены DIV один относительно другого (внутри, соседние элементы, имеют разные родительские элементы)?
|
|

07.08.2012, 02:11
|
 |
Аспирант
|
|
Регистрация: 06.02.2012
Сообщений: 50
|
|
|
pashak, родитель один, блоки стоят рядом
|
|

07.08.2012, 02:25
|
|
Интересующийся
|
|
Регистрация: 08.04.2010
Сообщений: 16
|
|
Пускай первый блок имеет id="div1", второй - id="div2". Тогда пропишите во второй блок правило:
height:inherit;
а сразу за вторым блоком вставьте скрипт:
<script type="text/javascript">(function(){var d=document.getElementById("div1");d.parentNode.style.height=d.offsetHeight+"px";})();</script>
Т.е. проблема решается установкой точной высоты для родительского элемента. Если первый блок обрамлён, то вычтите из полученной высоту удвоенную толщину рамки.
Объясняю, почему устанавливается высота именно родительского элемента: это для запаса на случай, если может появиться и третий блок, требующий той же высоты.
|
|

07.08.2012, 12:55
|
 |
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
верстать таблицей, использовать display: (table, table-cell) http://htmlbook.ru/css/display
PS: приводите примеры
Последний раз редактировалось bes, 07.08.2012 в 12:57.
|
|

07.08.2012, 13:10
|
 |
Аспирант
|
|
Регистрация: 06.02.2012
Сообщений: 50
|
|
Сообщение от pashak
|
Пускай первый блок имеет id="div1", второй - id="div2". Тогда пропишите во второй блок правило:
height:inherit;
а сразу за вторым блоком вставьте скрипт:
<script type="text/javascript">(function(){var d=document.getElementById("div1");d.parentNode.style.height=d.offsetHeight+"px";})();</script>
Т.е. проблема решается установкой точной высоты для родительского элемента. Если первый блок обрамлён, то вычтите из полученной высоту удвоенную толщину рамки.
Объясняю, почему устанавливается высота именно родительского элемента: это для запаса на случай, если может появиться и третий блок, требующий той же высоты.
|
не работает так. может потому что блок 2 в себе содержит некоторое количество мелких блоков, которые в сумме дают большую высоту <-_->
все-таки хотелось бы установить высоту именно для второго блока.
Все, разобрался, Pashak, спасибо большое!
Последний раз редактировалось wmag, 07.08.2012 в 16:24.
|
|

07.08.2012, 14:30
|
 |
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
|
Сообщение от wmag
|
|
не работает так. может потому что блок 2 в себе содержит некоторое количество мелких блоков, которые в сумме дают большую высоту <-_->
|
Приведите образец структуры и, судя по ответу, читать http://learn.javascript.ru/position и http://learn.javascript.ru/metrics
|
|

07.08.2012, 16:36
|
 |
Аспирант
|
|
Регистрация: 06.02.2012
Сообщений: 50
|
|
|
Вопрос 2: Как заставить контент ДИВ2 вращаться по вертикали?
Подробности: содержимое слоя: маленькие дивы с картинками
|
|

07.08.2012, 16:44
|
 |
Профессор
|
|
Регистрация: 22.03.2012
Сообщений: 3,744
|
|
|
Вопрос 3: Стоит ли помогать ТС с такой реакцией?
Подробности: маленькое содержимое, слоистые картинки
|
|

07.08.2012, 16:56
|
 |
Аспирант
|
|
Регистрация: 06.02.2012
Сообщений: 50
|
|
|
bes, зачем предлагать использовать самолет, когда вопрос был о том, как настроить паруса на корабле? =)
(это я про ваш совет с "display: (table, table-cell) http://htmlbook.ru/css/display")
литературу читаю потихоньку, спасибо
Последний раз редактировалось wmag, 07.08.2012 в 16:59.
|
|
|
|