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

HTML+CSS+JavaScript

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

 

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

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

тема: размеры таблицы
 
 автор: Mootch   (25.08.2005 в 20:31)   письмо автору
 
 

в таблицу вставляю данные из БД ... как сделать, что бы таблица не изменяла размер, даже, если текста больше, чем может уместиться? лучше что бы текст обрезался...

   
 
 автор: codexomega   (25.08.2005 в 21:19)   письмо автору
 
   для: Mootch   (25.08.2005 в 20:31)
 

Нужно воспользоваться 'nowrap'.
Да, и еще задать размер таблицы и ее ячеек. Лучше в пикселях, для вашего случая.

   
 
 автор: Mootch   (25.08.2005 в 22:15)   письмо автору
 
   для: codexomega   (25.08.2005 в 21:19)
 

nowrap - вообще нето ... строки вообще не переносятся

сорри .. надо в пикселях указывать длинну ... а я в процентах....
Все равно не помогает .... никак не могу добиться того, чего хочу ....
Если СЛОВО (т.е. что-то написанное без пробелов) по длинне больше длинны строки, то оно растягивает таблицу .... я указывал размеры, все равно растягивает :((

   
 
 автор: Евгений Петров   (25.08.2005 в 22:22)   письмо автору
 
   для: Mootch   (25.08.2005 в 22:15)
 

Обрезай текст при помощи php. Например по 100 символов.

   
 
 автор: Mootch   (25.08.2005 в 22:51)   письмо автору
 
   для: Евгений Петров   (25.08.2005 в 22:22)
 

>Обрезай текст при помощи php. Например по 100 символов.

Спасибо! А как сделать, что бы сплошной текст , например, "11111111111111111111111111111111111 11111" переносился на след строчку? а не растягивал таблицу?

   
 
 автор: Евгений Петров   (25.08.2005 в 22:58)   письмо автору
 
   для: Mootch   (25.08.2005 в 22:51)
 

Проверяй, если слово больше n символов - обрезай или переноси на др. строку.

   
 
 автор: Sfinks   (25.08.2005 в 23:16)   письмо автору
 
   для: Mootch   (25.08.2005 в 22:51)
 

Пользуйся OPERA 8 =))
В ней есть кнопочка "по ширине окна".... Нажимаешь, и опера сама все перенесет =)) Гы =))

   
 
 автор: cheops   (26.08.2005 в 00:56)   письмо автору
 
   для: Mootch   (25.08.2005 в 22:51)
 

Решение вы сможете найти в темах
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=6030
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4580

   
 
 автор: Киналь   (25.08.2005 в 23:38)   письмо автору
 
   для: Mootch   (25.08.2005 в 20:31)
 

Думаю, надо так.
1) Берем первые 50 символов.
2) Проверяем 51-й. Если это пробел, то стоп, иначе дальше.
3) Удлиняем "вырезку" до тех пор, пока не встретим пробел.
4) Проверяем, какой длины получилась строка. Если меньше 100, то стоп, иначе дальше.
5) Проверяем. есть ли вообще пробелы в том. что получили. Если нет, тупо режем пополам, иначе дальше.
6) Повторяем пп. 1-4 для первых 30 символов.

Все сказанное хорошо укладывается в рекурсивную функцию. Первые три пункта:

function first_words($text, $end_point)
{
if ($end_point >= strlen($text)) return $text;
 while (true)
 {
  $tmp_text=substr($text, 0, $end_point+1);
  if ($tmp_text[$end_point] != ' ')
  $end_point++;
  else
  break;
  if ($end_point == strlen($text)) return $text;
 }
 return $tmp_text.' ...';
}

Думаю, рекурсию дописать уже не трудно.

   
 
 автор: sancho   (26.08.2005 в 09:13)   письмо автору
 
   для: Киналь   (25.08.2005 в 23:38)
 

Можно просто в css указать

style="word-break: break-all;" 
или 
word-wrap: break-word;

   
 
 автор: Mootch   (26.08.2005 в 17:40)   письмо автору
 
   для: sancho   (26.08.2005 в 09:13)
 

>Можно просто в css указать
>

>style="word-break: break-all;" 
>или 
>word-wrap: break-word;
>


к какому эффекту это приведет? Строки не переносятся и не обрезаются ....по крайней мере внутри таблицы

   
 
 автор: sancho   (26.08.2005 в 17:50)   письмо автору
 
   для: Mootch   (26.08.2005 в 17:40)
 

Строки переносятся, задали например ширину 200 px, она и будет 200 px, будет высота только меняться

   
 
 автор: Mootch   (26.08.2005 в 18:00)   письмо автору
 
   для: sancho   (26.08.2005 в 17:50)
 

>Строки переносятся, задали например ширину 200 px, она и
>будет 200 px, будет высота только меняться


<td width=100 STYLE=\"font-size:12px;word-wrap:break-word; width:100;\">".$a_row[info]."</td>


не переносит! :(

В ИЕ все ок, а в Опере не переносится :(

   
 
 автор: sancho   (26.08.2005 в 18:16)   письмо автору
 
   для: Mootch   (26.08.2005 в 18:00)
 

В опере не переносит, это верно, у самого такая же проблема, по ходу только рег. выражение остается

   
Rambler's Top100
вверх

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