IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   height в FF/Opera (http://www.imho.ws/showthread.php?t=87353)

plohich 10.06.2005 20:23

height в FF/Opera
 
бьюсь над проблемой второй день. суть дела:
1. есть header, body, footer, с неким содержимым
2. надо чтобы footer всегда был прикреплен к низу окна

Пробовал и <table> и <div>, с style="height: 100%;". В IE все ок, а в FF и Opera липнет все к верху. Можно указать абсолютную величину, но это не выход.

p.s. речь о xhtml

AleXXXSoft 10.06.2005 21:00

нет в стандарте такого height: x% - а мозилла и опера, как изветно верные прибежники стандартов.... чтоб их...

Hubbitus 10.06.2005 22:55

Извините, не совсем понимаю может быть о чем речь, но вот такое элементарное:
Код:

<table border=1 height=100%>
    <tr>
        <td>Header</td>
    </tr>
    <tr>
        <td height=100%>Body</td>
    </tr>
    <tr>
        <td>Footer</td>
    </tr>
</table>

Прекрасно хавает и Мозилла (1.8b1), и Опера (7.5), ФФ (1.0.4) и ИЕ (6.0.2900.2180.xp_sp2)! При этом все отображается нормально: Header - сверху, body - посередине и растянут, а footer - с самого низу. :confused:

plohich 11.06.2005 01:00

AleXXXSoft
ты не прав, в стандарте это есть, скажем если указать высоту <body> абсолютной, то проценты относительно этой величины работают. да и с мануалом CSS2 я сверился.

Hubbitus
добавь вверху
Код HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Hubbitus 11.06.2005 15:40

Цитата:

plohich:
добавь вверху
Ага, это как в том анекдоте: "А вы на шкаф залезте, А вы бинокль возьмите" :ржать:

Ну хорошо, полез, взял, добавил:
Код:

<!doctype html public "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<style>
body{margin:0;padding:0;}
html, body{height:100%;}

#d{height:expression('100%');min-height:100%;background:#cc9;}
</style>
</head>
<body>
<table border="1" height="100%">
    <tr>
        <td height="30">Head</td>
    </tr>
    <tr>
        <td id="d">Body</td>
    </tr>
    <tr>
        <td height="30">Footer</td>
    </tr>
</table>

</body>
</html>

Поставленную задачу решает в полной мере, НО, всеравно теперь, поскольку height в стандарте нету, это уже получается невалидный XHTML, почему бы просто не юзать HTML прописав его DOCTYPE? :idontnow:

plohich 11.06.2005 17:03

Цитата:

Hubbitus:
почему бы просто не юзать HTML прописав его DOCTYPE?
ну так похоже и сделаю, но хотелось побаловаться с xhtml, вот, добаловался. имхо, это баг.

Hubbitus 11.06.2005 17:25

Цитата:

plohich:
имхо, это баг.
Что баг-то? Тот код что я привел выше полностью работает в XHTML вобщем-то, разве что не валиден. А вообще, насколько я видел в сети (сам я не читал стандарта), height в стандарте нету как такового, поэтому это не баг скорее всего, а фича :beer:

plohich 11.06.2005 18:01

баг в том, что не выставляется height: 100% по умолчанию.

подводя итог, проблема решается строкой
Код HTML:

html, body{height:100%;}
а не просто
Код HTML:

body{height:100%;}
спасибо Hubbitus


Часовой пояс GMT +4, время: 09:25.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.