Вроде простая вещь на HTML, но под все браузеры...

Silex

unitecsys
Вроде простая вещь на HTML, но под все браузеры...

Ай нид хелп :) Необходимо, чтобы во всех браузерах (ИЕ4+, НН4+, Опера 6+, Мозилла) отображалась табличка (3 строки по 1 ячейке), при этом средняя строка была фиксированной высоты (в данном случае 300), а две другие равномерно растягивались. В простейшем случае, под ИЕ, это выглядит так:

PHP:
<table width=100% height=100% border=1>
<tr><td>&nbsp;</td></tr>
<tr><td height=300>&nbsp;</td></tr>
<tr><td>&nbsp;</td></tr>
</table>
т.е. средняя строка центрируется посередине экрана. Использование слоев нежелательно, хотя и допускается, равно как и прозрачные распорки. Самая большая проблема - это Опера и НН, которые в упор не любят процентность по вертикали :(
 

Krisha

pain in the neck
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
<TR>
<TD align="center" valign="middle">
<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">
<TR>
<TD height="300" bgcolor="#CCCCCC">&nbsp;</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
 

Silex

unitecsys
Cпасибо, все работает, но для моего случая не подходит :( Нужно именно три ячейки, поскольку верхняя и нижняя будут заливаться различными бекграундами.
 

Vitali_N

Guest
>Использование слоев нежелательно, хотя и допускается,
>равно как и прозрачные распорки.
height и width в таблице - лишь РЕКОМЕНДАТЕЛЬНЫ для броузера. Однозначного отображения можно добиться только распорками (иногда и без них).
И при этом, NN "не любит", когда в одной таблице эти параметры задаются и в % и в px.
Влияет на это и <!DOCTYPE...

<table width=100% height=100% border=1 cellpadding=0 cellspacing=0>
<tr><td colspan=2>&nbsp;</td></tr>
<tr><td width=1 height=300><img src=transparent.gif width=1 height=300></td><td height=300>&nbsp;</td></tr>
<tr><td colspan=2>&nbsp;</td></tr>
</table>
 

Silex

unitecsys
Спасибо, но... оно не работает. Ни в Опере, ни в Нетскейпе.
 

pumba

Guest
(aka Vitali_N)
http://www.w3.org/TR/REC-html40/struct/tables.html#h-11.2.1
У таблицы "по закону" нет атрибута height.
width - This attribute specifies the desired width of the entire table and is intended for visual user agents.
Т.е. это ЖЕЛАЕМАЯ величена, которую мы ХОТЕЛИ бы видеть.
А вовсе не обязательная.
Аналогично:
http://www.w3.org/TR/REC-html40/struct/tables.html#edef-TD
width = length [CN] Deprecated. This attribute supplies user agents with a recommended cell width.
height = length [CN] Deprecated. This attribute supplies user agents with a recommended cell height.
 

Krisha

pain in the neck
делай фреймами:

<FRAMESET rows="*,300,*" frameborder="NO" border="0" framespacing="0">
<FRAME name="topFrame" scrolling="NO" noresize src="top.html">
<FRAME name="mainFrame" src="main.html" noresize>
<FRAME name="bottomFrame" scrolling="NO" noresize src="bottom.html">
</FRAMESET>
 

Ямерт

The Old One
Имхо, Крыша прав. Кроме фрэймов никак такое не сделать для всех браузеров.
 

KolyaA

Guest
И вот прошло три года. Появилось ли какое-нибудь другое решение этой задачи. В частности для оперы?
 

uliss

Новичок
Очень озабочены пользователями Opera?
По статистике ( читал J. Zeldmana) как раз эти пользователи ЧАЩЕ чем другие обновляют свои броузеры.
Так что используйте CSS
 

KolyaA

Guest
Так вопрос в том и стоит - как сделать такую таблицу используя CSS, чтобы она нужным образом отображалась в опере.

-~{}~ 10.10.05 13:40:

А, извиняюсь. В Опере8 это уже работает.
 
Сверху