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

HTML+CSS+JavaScript

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

 

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

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

тема: динамически определять ширину ячеек
 
 автор: kb_nn   (19.10.2009 в 10:28)   письмо автору
 
 

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

  Ответить  
 
 автор: АЯ   (19.10.2009 в 10:58)   письмо автору
 
   для: kb_nn   (19.10.2009 в 10:28)
 

"Информация в ячейке" - понятие сильно растяжимое.
Потому какого-то общего решения эта задача не имеет.

Если предположить, например, что "информация в ячейке" - это только текст одного размера шрифта, состоящий из слов, разделённых пробелами, но не имеющий принудительных переносов строк, то решение будет одним. Как только появится хоть один <br> или блоковая разметка (<p>, <div>, <blockquote> и т.п.), то решение будет совершенно иным. Для случаев использования разных шрифтов, для картинок и прочих тегов - каждый раз нужны свои особые решения.

  Ответить  
 
 автор: kb_nn   (19.10.2009 в 11:06)   письмо автору
 
   для: АЯ   (19.10.2009 в 10:58)
 

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

  Ответить  
 
 автор: АЯ   (19.10.2009 в 13:46)   письмо автору
 
   для: kb_nn   (19.10.2009 в 11:06)
 

В самом первом приближении:
<html><head>
<script>
function mF1 ()
{
H1 = document.getElementById ('d1').offsetHeight;
OB = document.getElementById ('d2'); W2 = OB.offsetWidth;
OB.style.visibility = 'hidden'; mF2 ();
}
function mF2 ()
{
if (OB.offsetHeight < H1) {OB.style.width = --W2; mF2 ()}
else OB.style.visibility = 'visible';
}
</script>
</head>
<body>
<table cellpadding="10" cellspacing="0" border="1">
<tr><td valign="top" style="width: 135px"><div id="d1">
1 11 111 1111 11111 111111 1111111 11111111 111111111 1111111111
1 11 111 1111 11111 111111 1111111 11111111 111111111 
</div></td>
<td valign="top"><div id="d2">
2 22 222 2222 22222 222222 2222222 22222222 222222222 2222222222
2 22 222 2222 22222 222222 2222222 22222222 222222222
2 22 222 2222 22222 222222 2222222 22222222
</div></td></tr></table>
<hr><input type="button" value="Go!" onclick="mF1 ()">
</body></html>

  Ответить  
 
 автор: kb_nn   (19.10.2009 в 13:59)   письмо автору
 
   для: АЯ   (19.10.2009 в 13:46)
 

ну вобщем идея понятна, спасибо :)

  Ответить  
Rambler's Top100
вверх

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