IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Как подавить "расползание" таблицы (http://www.imho.ws/showthread.php?t=56617)

shuron 15.04.2004 20:20

Как подавить "расползание" таблицы
 
таблица есть в хтмл

<table width="500">

тоесть с заданым размером по ширине который не должен привышатся.
текс в таблице однако генерируется PHP и ногда таблица разезжается.. за пределы заданного размера
и всегда если например ввести длинную строку без пробелов.. которая привышает 500 px

так как же предотвратить разЪезжание таблицы? :confused:

shuron 16.04.2004 00:36

сам уже нашол

style="TABLE-LAYOUT: fixed;"

Добавлено через 3 минуты:
тфу я поспешил...

это тоже как-то не так работает;((

esergey 16.04.2004 00:39

ты ж все на php выводишь - не выводи такую длинную строку, обрезай ее вот и все

shuron 16.04.2004 00:52

ну это надо в очень многих местах доделывать..
а тут может одним приёмчиком можно?

Hubbitus 16.04.2004 01:11

Слушай, а каким образом ты соббираешься решить, тоесть как ты видишь решение этой проблемы: не поместившаяся строка что просто должна обрезаться??? Такого ни один браузер не делает!

shuron 16.04.2004 02:04

зачем обрезаться??
просто продолжатся строкой ниже..:biggrin:

граничение должно быть только по ширине..
но тотальное!!

RaZEr 16.04.2004 11:08

overflow: scroll (или hidden)

Drill 16.04.2004 12:53

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

Goryn 16.04.2004 14:18

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

Если у тебя такие уж маленькие ячейки, то есть 2 выхода:

1. оставить одну колонку резиновой (просто не указывать ее ширину), чттобы она сужалась/расширялась в зависимости от ширины остальных.

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

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

Hubbitus 16.04.2004 16:55

Цитата:

Drill:
проставь ширину не только таблицы, но и ячейки, в которую выводишь текст...и проверь, чтобы у ячейки не было параметра "nowrap"...возможно поможет..
Нет не поможет, Goryn правильно сказал:
Цитата:

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

Drill 16.04.2004 17:15

Hubbitus
таким разделителем обычно является пробел, поэтому когда строка не умещается в ячейке, то фраза делится из принципа: что не влезло после последнего пробела, то и переносим в следующую строку...
Цитата:

Нет не поможет
...а ты попробовал?

Добавлено через 5 минут:
Hubbitus
Цитата:

ввести длинную строку без пробелов
...извини, не заметил в теме...тогда действительно не поможет...


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

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