height:100%, DIV & footer

crocodile2u

http://vbolshov.org.ru
height:100%, DIV & footer

Сразу оговорюсь: вопрос задаю сугубо из интереса, никакой реальной подоплеки нет.

Имеем следующее: на странице есть подвал, который необходимо прижать книзу при любой высоте контента. Если использовать таблицы, проблем нет, и это уже обсуждалось многократно. А вот если мы, повинуясь веяниям высокой моды :) (ну и удобства, конечно), хотим отказаться от таблиц как от элемента верстки? И использовать DIV'ы? В общем, я пробовал несколько вариантов. Они либо не срабатывают так, как нужно (подвал поднимается вверх при небольшой высоте контента), либо (если использовать абсолютное позиционирование) начинаются глюки при большой высоте контента (подвал залезает на контент).

Если для этой проблемы есть адекватное решение, может, кто-нибудь поделится?
 

akxxiv

Новичок
Я делал так:
сначала задавал html, body{height: 100%; margin: 0}
Затем создавал div который будет включать в себя страницу и ставил ему высоту 100% и позишн: релатив. А внутри него абсолютно прижимал подвал к низу. так же создавал пустой див высотой равной высоте подвала - это чтоб подвал не заезжал на текст. ну, вобщем-то и сё. Работало во всех смотрелках.
 

crocodile2u

http://vbolshov.org.ru
Это я уже пробовал. Действительно, работает в IE и Opera. В моем любимом Firefox - нет.
 

SelenIT

IT-лунатик :)
crocodile2u
Для мозилл надо указывать не height: 100% на div.overall, а min-height: 100%. Например, так:
Код:
  div.overall {
    position:relative;
    width:100%;
    min-height: 100%; /* IE проигнорирует */
  }
  * html div.overall { /* хак для IE */
    height:100%;
  }
Иначе при уменьшении окна див тоже сжимается.
 

crocodile2u

http://vbolshov.org.ru
SelenIT
О! Я вот нутром чуял, что этот самый min-height как-то можно применить (кстати, топик запостил, когда увидал вот это обсуждение: http://phpclub.ru/talk/showthread.php?s=&threadid=74081 ). Нутром чуял, а как конкретно применить, не додумался :)

Спасибо за науку!
 

crocodile2u

http://vbolshov.org.ru
Можно-то может и можно. Но SelenIT'овский вариант грамотнее. Ибо нефик несуществующие свойства декларировать.
 
[offtop]
а еще можно вот так:
// style: 10px; /*проигнорируют все , кроме ie*/

например:
width: 100%;
// width: 90%;

у всех будет по 100%, а у ie 90%
[/offtop]
 

SelenIT

IT-лунатик :)
Loshadka, уточни плз: это работает для всех версий IE? Знаю, что "особенности" интерпретации комментариев используются для разделения IE5 и IE6, но вот такого варианта, честно говоря, сам не встречал.

crocodile2u, выражаю встречную благодарность - благодаря этому топику узнал, что это работает и в quirks mode (раньше думал, что только в ражиме соответствия стандартам...) ;)
 
SelenIT
честно, не знаю... в 6 - точно

з.ы. сам совершенно случайно на это наткнулся, просто поставил комментарий по привычке...
 

crocodile2u

http://vbolshov.org.ru
Что ж, тоже интересно. Я, правда, предпочитаю для IE использовать conditional comments
 

smartello

Новичок
"О! Я вот нутром чуял, что этот самый min-height как-то можно применить (кстати, топик запостил, когда увидал вот это обсуждение: http://phpclub.ru/talk/showthread.p...;threadid=74081 )."

А может вы теперь в том обсуждении поможете? :) а то я уже вешаться готов :)
 
Сверху