Перенос текста в дизайне

629
.
Выложу скрины все сами увидите..
Прикрепленные файлы:
.
Как исправить это?
Прикрепленные файлы:
.
Когда длинный текст написан без пробела либо переноса типа: один,два,три,четыре то текст не переносится.. Получается то не красиво..
.
так всегда вроде, надо с пробелами писать)
.
может чето-то в код стиля надо прописать чтобы переносил??
.
Все дело в браузере - он может переносить все на другую строчку, если есть пробел между слов. Если пробелов после запятой нет, браузер считает это одним словом, и переносить права не имеет.

Исправить можно лишь заменой запятой на запятую с пробелом при добавлении сообщения
.
Янулов
Piks, как я понимаю уже написанный текст никак перенести не получиться?
.
Перенос и разбиение слов в HTML.

Первое, что обычно приходит в голову - заранее отформатировать текст с учетом предполагаемой ширины колонки (например - php/perl/python скриптом) и выдать его браузеру уже построчно (с br> после каждой строки). Такой подход редко приводит к желаемому результату, поскольку необходимо заранее, с точностью до пиксела знать ширину ячейки в которую будет выведен текст и ширину каждого символа в строке текста. Даже если предположить, что ширина таблицы и ячеек заданы в пикселах, все равно - разнообразие точек зрения браузеров на виды и размеры шрифтов общеизвестно. Кроме того, пользователь может изменить размеры окна браузера после загрузки страницы, так что пришлось бы переформатировать текст js скриптом по OnResize.

Очевидно, необходим более гибкий и аккуратный метод. Посмотрим, что нам предлагают авторы браузеров и стандартов.

Microsoft предлагает хороший способ:

P STYLE="word-wrap:break-word;width:100%;left:0">

LongWordLongWord...LongWordLongWord/P>

Или, если надо разрешить разрывы слов только на конкретном участке:

P>LongWordLongWord...span STYLE="word-wrap:break-word;width:100%;left:0">LongWordLongWord---LongWord/span>::LongWordLongWord,,,LongWordLongWord/P>

(знаки препинания вставлены произвольно)


word-wrap:break-word; в MSIE5.5. Видно, что

на участке ограниченном span>/span>

браузер разорвал слово и перенес его.

Однако за пределами этого участка текст

переносится как обычно - по пробелам.

В этом параграфе слово будет разбито автоматически. Одно плохо - метод работает только в MSIE 5.5 и выше (проверено в 5.5 и 6.0).

Будем смотреть дальше:

В стандарте на HTML 4 существует символ "" - так называемый "мягкий перенос". Вообще же, это стандартный символ в Unicode и Latin-1 который Windows знает, но не всегда любит [правильно] показывать.

Если его вставить в слово, например так:

LongWordLongWordLongWordLongWord

..то браузер в нормальных условиях этот символ не отобразит вообще. Однако, если места для слова не хватает, в этом месте оно должно быть автоматически перенесено на следующую строчку и появится знак переноса "-". Я говорю должно быть, поскольку браузеры - не всегда отражение стандарта на HTML.
.
Кайот
white-space - задает, будут ли строки текста, содержащегося в элементе страницы, автоматически переноситься, если они не помещаются в нем по ширине.
white-space: normal|nowrap|pre;
white-space: normal; - (значение по умолчанию) включает автоматический перенос длинных строк;
white-space: nowrap; - отключает автоматический перенос строк. Чтобы "разорвать" строку вручную, вставьте в нужном месте тег <BR> (NN не поддерживается);
white-spice: pre; - не поддерживается;
Поддерживается IE начиная с 5.5 и NN начиная с 4.0

..........

Согласно рекомендациям W3C по поводу переносов, можно использовать мягкий перенос, который указывает место разрыва слова или словосочетания, когда оно попадает в конец строки. Например, можно указать, что слово «словосочетание» должно быть перенесено как «слово-сочетание», а не «словосочета-ние». Как видим, при расстановке мягких переносов важно учитывать морфологию языка.

Для указания мягкого переноса в html используется html-сущность &shy; (&#173; или &#xAD;)

...
Вариантов много.
.
ЙА_ЙоЖег
Янулов, а какой оперой ты скрины делаешь?
Всего: 18