Чтение онлайн

на главную - закладки

Жанры

HTML: Популярный самоучитель
Шрифт:

Сохранение авторского форматирования

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

Что же делать, если нужно вставить в HTML-документ текст, в котором важно сохранить хотя бы разрывы строк в определенных автором местах, например текст какой-то программы? Рассмотрим пример 3.4.

Пример 3.4.
Страница с текстом программы (оригинал)

<TITLE>Текст программы (оригинал)</TITLE>

<BODY>

function fact(int num):int

if (num>0)

return fact(num–1)*num;

else

return 1;

end if

end function

</BODY>

При обработке приведенного кода браузер покажет весь текст, расположенный в элементе BODY, в одну строку так, как показано на рис. 3.4.

Рис. 3.4. Страница с текстом программы (оригинал)

Как видно, браузер проигнорировал все символы перевода строки, которые были в первоначальном тексте HTML-документа, и выполнил автоматический перенос непомещающихся строк.

Для принудительного перехода на следующую строку в нужных местах текста можно использовать элемент BR, который задается одиночным тегом <BR>. Именно этот тег и использовался для повышения наглядности предыдущих примеров. Тег <BR> можно вставлять в любом месте текста, в данном случае (пример 3.5) этот тег логично вставить в конце каждой строки программы.

Пример 3.5. Использование разрывов строк

<TITLE>Текст программы (с разрывами строк)</TITLE>

<BODY>

function fact(int num):int<BR>

if (num>0)<BR>

return fact(num–1)*num;<BR>

else <BR>

return 1;<BR>

end if <BR>

end function<BR>

</BODY>

Результат обработки этого варианта HTML-кода приведен на рис. 3.5.

Рис. 3.5. Использование разрывов строк

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

Для обычного текста использования <BR> вполне хватает. Однако в данном примере рассматривается программа, а не обычный текст. Чтобы полностью сохранить исходное форматирование текста (с учетом всех отступов), можно применить элемент PRE. Этот элемент задается парными тегами <PRE> и </PRE>. Браузер учитывает все символы, которые встречаются в тексте HTML-документа, и выводит их на экран. Пример 3.6 иллюстрирует использование элемента PRE для сохранения оригинального форматирования текста.

Пример 3.6. Страница с текстом программы (использование PRE)

<TITLE>Текст программы (PRE)</TITLE>

<BODY>

<PRE>

function fact(int num):int

if (num>0)

return fact(num–1)*num;

else

return 1;

end if

end function

</PRE>

</BODY>

Результат

обработки кода примера 3.6 приведен на рис. 3.6.

Рис. 3.6. Текст с полным сохранением форматирования

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

Запрет разрыва строки

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

Неразрывный пробел можно ввести в текст HTML-документа с использованием соответствующей ссылки на символ: &nbsp;. Например:

Текст,&nbsp;отображаемый&nbsp;без&nbsp;переноса.

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

Когда необходимо выделить большой участок текста, для которого недопустим автоматический перенос слов, то целесообразнее использовать элемент NOBR. Ему соответствуют парные теги <NOBR> и </NOBR>. Весь текст, находящийся между этими тегами, будет отображаться браузером в одной строке, например:

<NOBR>

Этот текст отображается в одной строке независимо от ширины окна браузера

</NOBR>

Остерегайтесь создания слишком длинных неразрывных строк, поскольку необходимость горизонтальной прокрутки для прочтения таких строк только ухудшает чтение HTML-документа. Для вставки разрывов строк в тексте, заключенном между <NOBR> и </NOBR>, можно использовать рассмотренный ранее элемент BR.

Переносы

При написании текста HTML-документа автор имеет возможность явно указать места, в которых текст может или должен переноситься на следующую строку (обычно это используется только для указания места возможного разрыва слов, потому что даже с наличием символов переноса браузер автоматически переносит целые слова так, как было рассказано ранее). Указания мест переносов в тексте достигается вставкой специальных символов переноса.

HTML предоставляет два типа переноса: простой и мягкий. Простой перенос в тексте HTML-документа обозначается символом –. Этот символ указывает, в каком именно месте должно разрываться слово, если оно не помещается в окне. Если же слово помещается в окне, то символ переноса все равно отображается (то есть простой перенос логично использовать только для указания дефисов в тексте, как это обычно и делается). При помощи мягкого переноса можно указать браузеру место, в котором слово можно разрывать при необходимости переноса его части на следующую строку. Мягкий перенос задается ссылкой на символ &shy;. При использовании мягкого переноса сам символ переноса (–) отображается браузером только в случае разрыва слова в указанном месте.

Поделиться:
Популярные книги

Ярар. Начало

Грехов Тимофей
1. Ярар
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ярар. Начало

Третий Генерал: Тома I-II

Зот Бакалавр
1. Третий Генерал
Фантастика:
городское фэнтези
попаданцы
аниме
сказочная фантастика
5.00
рейтинг книги
Третий Генерал: Тома I-II

Светлая тьма. Советник

Шмаков Алексей Семенович
6. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Светлая тьма. Советник

Барону наплевать на правила

Ренгач Евгений
7. Закон сильного
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Барону наплевать на правила

Неверный

Тоцка Тала
Любовные романы:
современные любовные романы
5.50
рейтинг книги
Неверный

Законы Рода. Том 7

Андрей Мельник
7. Граф Берестьев
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Законы Рода. Том 7

Тринадцатый IX

NikL
9. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
сказочная фантастика
5.00
рейтинг книги
Тринадцатый IX

Тринадцатый V

NikL
5. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый V

Хозяин Стужи 4

Петров Максим Николаевич
4. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Хозяин Стужи 4

Гримуар темного лорда IV

Грехов Тимофей
4. Гримуар темного лорда
Фантастика:
фэнтези
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Гримуар темного лорда IV

Мастер 10

Чащин Валерий
10. Мастер
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 10

Гримуар тёмного лорда I

Грехов Тимофей
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Гримуар тёмного лорда I

#Бояръ-Аниме. Газлайтер. Том 11

Володин Григорий Григорьевич
11. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 11

Решала

Иванов Дмитрий
10. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Решала