Пожалуйста, помогите мне получить мой контент div, чтобы получить авто высоту от абсолютно позиционированного элемента - PullRequest
1 голос
/ 29 декабря 2010

Мне нужна помощь с макетом CSS.Он настроен так:

+--------------------+
| |   |   header     |
|-|   |--------------|
| |nav|   content    |
| |   |              |
| |   |              |
| |   |              |
| footer             |
+--------------------+

Итак, навигация должна быть выше всего содержимого главной страницы.Вот почему я настроен на абсолютную позицию.Проблема в том, что элементы навигации являются динамическими, без установленной высоты.Прямо сейчас навигация расширяется мимо содержания.Как я могу это исправить, чтобы у контента была автоматическая высота на основе навигации?

Заранее спасибо.

Взгляните на http://csslayout.commercev3.com/, чтобы увидеть, что у менядо сих пор.Проблема также в том, что плавающая левая навигация и содержимое div являются динамическими.Таким образом, div контента должен соответствовать как минимум левой навигационной панели и расширяться для собственного контента.

Ответы [ 4 ]

1 голос
/ 29 декабря 2010

Похоже, вам может понадобиться использовать jQuery, вы можете сделать что-то вроде этого.

$(function(){
  var headerHeight = $('#header').height();
  var navHeight = $('#nav').height();
  var contentHeight = navHeight - headerHeight;
  $('#content').css('minHeight',contentHeight);
}) 

Вот рабочая скрипка и наша окончательная скрипка

Я предлагаю это, потому что в настоящее время я внедряю подобное решение.В противном случае, без javascript / jQuery, я вполне уверен, что невозможно определить родственное отношение к абсолютно позиционированному элементу, используя чистый CSS.

0 голосов
/ 29 декабря 2010

Судя по вашему примеру страницы, кажется, что вам не нужен position: absolute;. Установите поле навигации на float: left и измените HTML таким образом, чтобы оно было внутри #content div. Ю, возможно, потребуется убрать явную высоту #content div.

0 голосов
/ 29 декабря 2010

Вам нужно сделать плавающий div относительно вашего навигационного div, так как вы не можете использовать переменные в CSS (еще одна причина, почему WC3 отстой, они никогда не дают нам то, что мы хотим, они только говорят нам, что нам нужно, и они всегда неправильно. Я так тебя ненавижу WC3 ...).

0 голосов
/ 29 декабря 2010

Если у вас есть явная высота, установленная в навигационном меню, уберите ее, и все должно быть хорошо ( работает в этой скрипке ).Если нет, не могли бы вы вставить код?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...