Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Текст в таблицах.

Ответить
Настройки темы
Текст в таблицах.

редкий гость


Сообщения: 1696
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


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

-------
http://ivank.ru


Отправлено: 09:35, 10-04-2002

 

Модер


Сообщения: 1716
Благодарности: 17

Профиль | Сайт | Отправить PM | Цитировать


ivank
а чем width="число тута, проценты или 0*" не катит?

-------
Васкецов Сергей
http://registry.oszone.net


Отправлено: 13:18, 10-04-2002 | #2



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

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


редкий гость


Сообщения: 1696
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


Вот примерный шаблон моей страницы:
Код: Выделить весь код
тут стандартные html-заголовки
<table width=100%><tr><td width=20%>менюшка</td>
<td width=80%>Тут некий очень интересный текст, в который
по детской прихоти возникло желание вставить кусок кода...
<pre>а тут длииииииииииииииииииииииииииииииииииииииииииииииинный кусок кода     и ещё длиннее.....</pre>
</td></tr></table>
тут стандартный html футер
Так вот, справая ячейка расползается в следствии того, что строку с кодом нельзя разбивать (тэг <pre> не позволяет), То что вся таблица разёезжается, это не страшно, плохо то, что весь текст (не только код) разъезжается и занимает более одного экрана в ширину. Как следствие, читать подобную страницу становится "немножко" трудно...

-------
http://ivank.ru


Отправлено: 19:45, 10-04-2002 | #3


Модер


Сообщения: 1716
Благодарности: 17

Профиль | Сайт | Отправить PM | Цитировать


Если ты хочешь побороть тег PRE - то тут не знаю что делать. Ну то есть, очевидный ответ - его не использовать.

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

Или я это все зря, и ты принципиально с PRE борешься?

-------
Васкецов Сергей
http://registry.oszone.net


Отправлено: 20:33, 10-04-2002 | #4


Аватара для BigMac

Призрачный админ


Сообщения: 5254
Благодарности: 90

Профиль | Отправить PM | Цитировать


ivank
Тег "pre" специально сделан для того, чтобы формат текста оставлять......таблица всегда будет разъезжаться...поверь мне......не юзай этот тег просто

-------
Истина где-то рядом...


Отправлено: 22:39, 10-04-2002 | #5


редкий гость


Сообщения: 1696
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


vasketsov
Без <pre> форматирование текста на фиг уезжает, а без него читать сурсы неудобно.

BigMac
Да мне пофиг, что таблица разъезжается -- лишь быостальной текст в ней не расширялся то же...

Пока я сделал автоматичесские переносы, о некузяво это как-то...

-------
http://ivank.ru


Отправлено: 09:48, 11-04-2002 | #6


Модер


Сообщения: 1716
Благодарности: 17

Профиль | Сайт | Отправить PM | Цитировать


ivank
>читать сурсы неудобно
я так понял, тебе надо
1) моноширинный шрифт
2) чтобы переносы строк оставались

1-е можно и стилем.
2-е тоже можно попробовать стилями поиграться, вот только идентично ли поведение (т.е. форматирование) текста внутри куска с ПРЕ или со стилем- не знаю, по идее ничего получиться не должно. Какое-то странное форматирование. Переносы строк остаются, а остальное - переносится.

-------
Васкецов Сергей
http://registry.oszone.net


Отправлено: 13:05, 11-04-2002 | #7


редкий гость


Сообщения: 1696
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


vasketsov
Я вот такой вот скриптик (вернее часть PHP-класса) написал -- строки свыше 60 символов разбивает на части, но всё это с сохранением форматирования. Переносы по возможности делает по словам:

Код: Выделить весь код
class page
{

//...

function _do_code_brs( $str )
{
 * *// Суть *этого манёвра, что бы спецсимволы, заменённые на их коды
 * *// (< на &lt; *итп) опять стали односимвольными -- что б прально
 * *// работал подсчёт символов в строке.
 * *$tmp_chars = array( "\x05", "\x06", "\x07", *"\x08" *);
 * *$codes * * = array( '&lt;', '&gt;', '&amp;', '&quot;');
 * *for( $i = 0; $i < count( $codes ); ++$i )
 * * * *$str = str_replace( $codes[$i], $tmp_chars[$i], $str );

 * *while( preg_match( "/[^\n\x01]{61,}/", $str ) )
 * * * *$str = preg_replace( "/([^\n\x01]{61,})/e",
 * * * * * * * * * * * * * * '$this->_do_code_brs_(\'\\1\')', $str );

 * *for( $i = 0; $i < count( $codes ); ++$i )
 * * * *$str = str_replace( $tmp_chars[$i], $codes[$i], $str );

 * *return str_replace( "\x01", '<img src="/trash/br.gif">', $str );
}

function _do_code_brs_( $str )
{
 * *preg_match( '/^(.{0,60})(\S*)(.*)$/', $str, $f );
 * *preg_match( '/ */', $str, $offset );
 * *if( $f[2] != '' )
 * *{
 * * * *preg_match( '/\S*$/', $f[1], $last_word );
 * * * *if( $last_word[0] != $f[1] )
 * * * * * *return
     * * * * * *substr( $f[1], 0, strlen( $f[1] ) - strlen( $last_word[0] ) ) 
 * *     * * * *. "\x01\n" . $offset[0] . $last_word[0] . $f[2] . $f[3];
 * *}
 * *preg_match( '/ */', $str, $offset );
 * *return $f[1]."\x01\n".$offset[0].$f[2].$f[3];
 * *echo '<pre>'; print_r( $f );
 * *return substr( $str, 0, 60 );
}

// ...

};
Если кому-нибудь нуно могу дать вариант на perl'е. Работает как часы. Причём, гораздо лучше чем простое
Код: Выделить весь код
$str =~ s/([^\n]{60})([^\n])/$1\n$2/;
Добавлено:

Но, вообще, я решил применять решение проще -- сделать шрифт для кода меньше, и весь код, который я собираюсь публиковать на страницы сразу (вручную) форматировать по ширине на 60 символов -- всё прекрасно смотрится даже в 640x480.

-------
http://ivank.ru


Отправлено: 13:46, 11-04-2002 | #8



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Текст в таблицах.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
не копируется текст spilberg Microsoft Windows NT/2000/2003 5 17-07-2009 13:38
Рукописный текст andrei.ru Цифровое изображение 1 11-06-2009 20:36
копировать текст! Rustem Хочу все знать 3 17-02-2009 16:57
Текст и архиватор Yurij Microsoft Windows 2000/XP 3 09-09-2006 19:57
xml и русский текст L71 Вебмастеру 13 08-11-2005 10:22




 
Переход