Разделение на строки и использование пробелов и символов табуляции
Когда документ выводится на экран, пробелы и пустые линии не сохраняются, за исключением текста, заключенного в теги PRE (предварительно отформатированный текст). То есть любая последовательность пробелов, символов табуляции и пустых линий эквивалентна единственному пробелу в файле HTML. С другой стороны, пробел в файле HTML может быть представлен с использованием любого количества пробелов или новыми (пустыми) строками.
Термин newlin (новая линия) используется, чтобы ТЕОРЕТИЧЕСКИ обозначить конец строки. SGML определяет, что строка (запись) должна начинаться стартовым символом (newline - перевод строки, LF, ASCII код 10) и заканчиваться символом конца записи (возврат каретки, CR, ASCII 13). На практике, HTML документы представляются и передаются с использованием newline представления, согласованного с данными компьютерными системами. Поэтому, броузеры HTML допускают поддержку любого из трех общепринятых представлений разделения строк, обозначаемых последовательностью CR LF, только CR, или только LF, и на основе такого допущения и выделяют ошибки представления начальных и конечных символов записи.
Таким образом, не имеет значения, как Вы разделите текст на строки, так как перевод строки эквивалентен пробелу. Заметим, однако, что Вы не должны в HTML разделять слово на две строки. Если Вы, например, разделили слово international
на две строки, как это приведено ниже:
inter- national
это будет интерпретироваться, как
inter- national.
Таким образом, для логичного представления Вашего документа, Вы должны использовать такие теги HTML, как P или BR, чтобы при необходимости обеспечить перевод строки.
Броузеры обычно не разделяют слова на две строки, за исключением тех случаев, когда слово содержит дефис. Ссылочные спецификации HTML 3.2 не очень точны в отношении этого вопроса и при обсуждении раздела таблицы, приводится следующее:
Для некоторых агентов пользователя может быть необходимо или желательно перевести строку в пределах слова. В таких случаях желательно убедиться визуально, что это произошло.
Опасайтесь того, чтобы длина линии вышла за границы Вашего контроля. Это зависит от броузера, компьютера и установок, сделанных людьми, просматривающими Ваш документ. Вообще говоря, нет средств, чтобы предотвратить перевод строки между словами, но Вы можете попытаться предупредить перевод строки, используя непрерывные пробелы.
Что касается использования перевода строки в сочетании с тегами HTML, то есть специальные правила:
- Перевод строки, следующий сразу за начальным тегом, игнорируется. Например, строки
<P> Text
эквивалентны строке
<P>Text
- Точно также, игнорируется перевод строки предшествующий конечному тегу. Например, строки
Text </P>
эквивалентны строке
Text</P>
Символ горизонтальной табуляции (HT) можно использовать в документе HTML. Но в пределах элемента PRE символ табуляции имеет особую интерпретацию, эквивалентен пробелу и не несет в себе информацию о табуляции какого-либо вида. (Чтобы представить табулированные данные, используйте элемент table.) Практически лучше избегать включения символов табуляции в код HTML и использовать вместо этого соответствующее количество пробелов, если нужно отформатировать код источника HTML документа в табулированном виде.