Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: резиновая таблица
 
 автор: Byte   (29.11.2005 в 21:14)   письмо автору
 
 

привет всем, темы не новая, но исчерпывающего ответа пока нигде не нашел.

приатачен файлик с описанием структуры таблицы которую пытаюсь реализовать. проблема в том что при жестком задании размеров ячеек, они нарушаются браузером, мне нужно что бы растягивались вниз нижние и средняя ячейки, а в результате растягиваются верхние и средняя, т.е. не совсем то что требуется.

Просветите пожалуйста, как решить проблему.

   
 
 автор: Void   (29.11.2005 в 21:28)   письмо автору
 
   для: Byte   (29.11.2005 в 21:14)
 

Так в чем проблема? Допустимо указывать один размер (width) и не указывать другой (height) в плавающих ячейках.

   
 
 автор: Byte   (30.11.2005 в 00:14)   письмо автору
 
   для: Void   (29.11.2005 в 21:28)
 

да, допустимо, но почему-то плывет та ячейка где были указаны оба размера, а там где был только один не понятно строится (размер не понимаю откуда ее береться броузером), в этом и проблема.

   
 
 автор: Void   (30.11.2005 в 01:50)   письмо автору
 
   для: Byte   (30.11.2005 в 00:14)
 

Насчет того, откуда браузер берет значения - из самой же таблицы. Она же не может быть размером меньше чем один символ по вертикали.

Можете ли Вы привести весь код таблицы стилей и страницы?
Также хочется узнать, каким образом Вы создаете страницу.

   
 
 автор: Byte   (30.11.2005 в 03:24)   письмо автору
 
   для: Void   (30.11.2005 в 01:50)
 

у меня нет уверенности что захочется в этом кому то копаться, но вот кусок моей страницы


<?php

function inf_tbl($sect_id,$xsize)
{
echo 
"<table width=\"".$xsize."\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" align=\"left\" valign=\"top\">";
// zagolovok i menu place
//-----------------------------------------------------------------------------------------------------------------------
echo "<tr>";
echo 
" <td width=\"24\" height=\"118\" rowspan=\"2\" 
высоту первой ячейки задаю фиксированной
background=\"images/base_pictures/table_f_text/top_left.jpg\"></td>"
;
echo 
" <td width=\"".($xsize-24-40)."\" height=\"32\" colspan=\"1\" background=\"images/base_pictures/table_f_text/top.jpg\"></td>";


echo 
" <td width=\"40\" height=\"118\" rowspan=\"2\" 
тут тоже
background=\"images/base_pictures/table_f_text/top_right.jpg\"></td>"
;
echo 
" </tr>";
echo 
"<tr>";
// menu place
echo " <td width=\"".($xsize-24-40)."\" height=\"".(118-32)."\" colspan=\"1\" background=\"images/base_pictures/table_f_text/middle.jpg\">";
//---------------------------------------------------------------------------------------------------------------------------
//menu
$mi=4//numbers of menu items
$mcx=($xsize-24-40-30)/$mi// menu cell width
$mcy=67// menu cell height
$mix=82// menu image width
$miy=67// menu image height

echo "<table width=\"".($mcx*$mi)."\" height=\"".$mcy."\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
echo 
" <tr align=\"center\" valign=\"middle\">";
echo 
"   <td width=\"".$mcx."\" height=\"".$mcy."\"><a href=\"#\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('Image1','','images/menu/news1.jpg',1)\"><img src=\"images/menu/home.jpg\" name=\"Image1\" width=\"".$mix."\" height=\"".$miy."\" border=\"0\"></a></td>";
echo 
"   <td width=\"".$mcx."\" height=\"".$mcy."\"><a href=\"#\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('Image2','','images/menu/news1.jpg',1)\"><img src=\"images/menu/news.jpg\" name=\"Image2\" width=\"".$mix."\" height=\"".$miy."\" border=\"0\"></a></td>";
echo 
"   <td width=\"".$mcx."\" height=\"".$mcy."\"><a href=\"#\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('Image3','','images/menu/services1.jpg',1)\"><img src=\"images/menu/services.jpg\" name=\"Image3\" width=\"".$mix."\" height=\"".$miy."\" border=\"0\"></a></td>";
echo 
"   <td width=\"".$mcx."\" height=\"".$mcy."\"><a href=\"#\" onMouseOut=\"MM_swapImgRestore()\" onMouseOver=\"MM_swapImage('Image4','','images/menu/contacts1.jpg',1)\"><img src=\"images/menu/contacts.jpg\" name=\"Image4\" width=\"".$mix."\" height=\"".$miy."\" border=\"0\"></a></td>";
echo 
" </tr>";
echo 
"</table>";

echo 
"</td>";
//-------------------------------------------------------------------------------------------------------------------------------

echo "</tr>";
//-----------------------------------------------------------------------------------------------------------------------
// seredina, fixed size

echo "<tr>";
echo 
" <td height=\"148\" width=\"24\" rowspan=\"1\" 
вот эта ячейка плавет, мне же нужен фиксированный ее размер
background=\"images/base_pictures/table_f_text/middle_left.jpg\"></td>"
;
echo 
" <td width=\"".($xsize-24-40)."\" height=\"500\" rowspan=\"2\" align=\"center\" valign=\"middle\" 
тут идет плавающая высота, в эту ячейку будет вставляться текст из БД, также для удобства вставляю внутреннюю таблицу
background=\"images/base_pictures/table_f_text/middle.jpg\">"
;

// info place
echo "<table width=\"".($mcx*$mi)."\" height=\"".$mcy."\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\">";
echo 
" <tr align=\"center\" valign=\"middle\">";
echo 
"<td>";
echo 
"hi<br>";
echo 
"</td></tr>";
echo 
"</table>";

echo 
"</td>";
echo 
" <td width=\"40\" height=\"148\"><img src=\"images/base_pictures/table_f_text/_middle_right_top.jpg\" width=\"40\" height=\"148\"></td>";
echo 
"</tr>";
//--------------------------------------------------------------------------------------------------------------------------------------
echo "<tr>";
echo 
" <td width=\"24\"  background=\"images/base_pictures/table_f_text/middle_left.jpg\"></td>";
//echo " <td width=\"60\">7</td>";
echo " <td width=\"40\" background=\"images/base_pictures/table_f_text/middle_right_bottom.jpg\"></td>";
echo 
"</tr>";
//--------------------------------------------------------------------------------------------------------------------------------------
echo "<tr>";
echo 
"<td width=\"24\" height=\"104\" rowspan=\"2\" background=\"images/base_pictures/table_f_text/bottom_left.jpg\"></td>";
echo 
"<td height=\"84\" colspan=\"1\" background=\"images/base_pictures/table_f_text/middle.jpg\"></td>";
echo 
"<td width=\"40\" height=\"104\" rowspan=\"2\" background=\"images/base_pictures/table_f_text/bottom_right.jpg\"></td>";
echo 
"</tr>";
echo 
"<tr>";
echo 
"<td height=\"20\" colspan=\"1\" background=\"images/base_pictures/table_f_text/bottom.jpg\">&nbsp;</td>";
echo 
"</tr>";
echo 
"</table>";
}
?>


понимаю что приведенный текст друночитаем, но другого нет

   
 
 автор: Lelik   (30.11.2005 в 11:02)   письмо автору
 
   для: Byte   (30.11.2005 в 03:24)
 

А кто же так делает? Посмотри внимательно у тебя в одной строке высота сталая = 32 и 118

...
echo "<tr>"; 
echo " <td width=\"24\" height=\"118\" rowspan=\"2\" 
высоту первой ячейки задаю фиксированной 
background=\"images/base_pictures/table_f_text/top_left.jpg\"></td>"; 
echo " <td width=\"".($xsize-24-40)."\" height=\"32\" colspan=\"1\" background=\"images/base_pictures/table_f_text/top.jpg\"></td>"; 


echo " <td width=\"40\" height=\"118\" rowspan=\"2\" 
тут тоже 
background=\"images/base_pictures/table_f_text/top_right.jpg\"></td>"; 
echo " </tr>"; 
...

если хочешь сделать сталую величину ячейки лучше сделай примерно так (привожу в html-е, на РНР сам сделаешь):

<tr valign="top">
 <td width="n" <!--задаешь свои параметры->>
   <table>
    <tr>
     <td <!--а здесь задавай ее высоту-->></td>
    </tr>
   </table>
 </td>
</tr>
</table>

   
 
 автор: Byte   (30.11.2005 в 17:30)   письмо автору
 
   для: Lelik   (30.11.2005 в 11:02)
 

Да, вставлять внутренние таблицы видимо придется, а по поводу разных высот, так там все верно, Вы видимо не увидели что же там все таки делается. А делается следующее, 118 - это высота левой и правой яейки (всего 3 столбца), 32 - это высота первой ячеки среднего столбца, потом ниже рисуется еще одна ячейка, высотой 86, т.е. все работает. но это только верхняя часть таблицы, а вот после, в средней и появляются проблемы, т.к. там жестких параметров высоты нету, должно все автоматом растягиваться.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования