Здравствуйте, дорогие студенты! Добро пожаловать на пятый урок нашего курса веб-разработки. На прошлом занятии мы подробно изучили теги заголовков и узнали, как структурировать текст на веб-странице с их помощью.
Сегодня мы рассмотрим три важных аспекта HTML, которые касаются отображения текста и организации кода: пробелы, переносы строк и комментарии. Понимание этих нюансов поможет вам лучше контролировать, как ваш HTML-код интерпретируется браузером, и как сделать ваш код более понятным и удобным для работы.
В этом уроке мы разберемся, как HTML обрабатывает пробелы и переносы строк, как использовать специальные символы и теги для управления отображением пробелов и переносов, и как применять комментарии для пояснения и организации вашего HTML-кода.
Подготовка к уроку
Как обычно, начнем с подготовки рабочей среды для этого урока.
-
Создайте новую папку для урока. На рабочем столе или в удобном для вас месте создайте новую папку и назовите ее
lesson_5
. -
Внутри папки
lesson_5
создайте файл и назовите егоwhitespace.html
. Убедитесь, что файл имеет расширение.html
. -
Создайте еще два файла в папке
lesson_5
. Создайте еще два файла внутри папкиlesson_5
:line_breaks.html
иcomments.html
. Убедитесь, что все три файла имеют расширение.html
.
Теперь у вас есть три файла whitespace.html
, line_breaks.html
и comments.html
, готовые для изучения пробелов, переносов строк и комментариев в HTML.
Пробелы в HTML – Игнорирование лишних пробелов
В HTML браузеры по умолчанию игнорируют большинство пробелов и переносов строк в вашем коде. Это означает, что сколько бы пробелов, табуляций или переносов строк вы ни добавили между HTML-тегами и текстом, браузер отобразит текст так, как будто между словами только один пробел.
Давайте разберем это на примере:
-
Откройте файл
whitespace.html
в текстовом редакторе и добавьте базовую структуру HTML-документа. Вы можете скопировать структуру из предыдущих уроков или использовать Emmet (! + Enter
). -
Добавьте два параграфа в секцию
<body>
. Добавьте в секцию<body>
два тега<p>
. Первый параграф будет содержать обычный текст без лишних пробелов и переносов строк в коде. Второй параграф будет содержать тот же текст, но с добавлением множества пробелов, табуляций и переносов строк между словами и в начале строк. Скопируйте или введите следующий код в файлwhitespace.html
:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Пробелы в HTML</title> </head> <body> <p>Это первый параграф, в котором нет лишних пробелов.</p> <p> Это второй параграф, в котором много лишних пробелов и переносов строк. </p> </body> </html>
В коде второго параграфа мы специально добавили множество пробелов, табуляций и переносов строк, чтобы увидеть, как браузер обработает их.
-
Сохраните файл
whitespace.html
и откройте его в браузере. Сохраните изменения и откройте файлwhitespace.html
в вашем веб-браузере.
Результат:
Вы увидите, что текст обоих параграфов отображается практически идентично в браузере. Несмотря на то, что во втором параграфе в коде было добавлено много лишних пробелов и переносов строк, браузер показал текст так, как будто между словами только1 по одному пробелу, и все переносы строк были проигнорированы. Браузер "схлопнул" все лишние пробелы и переносы строк до одного пробела между словами.
Инструменты разработчика:
Откройте инструменты разработчика (F12) и перейдите на вкладку "Elements". Выберите теги <p>
и посмотрите на HTML-код в панели "Elements". Вы увидите, что HTML-код в инструментах разработчика также отображается "схлопнутым", лишние пробелы и переносы строк удалены. Браузер интерпретировал ваш код и представил его в стандартизированном виде.
Почему так происходит?
HTML предназначен для структурирования контента, а не для точного управления пробелами и форматированием текста в стиле "как в текстовом редакторе". Браузеры разработаны так, чтобы быть гибкими и устойчивыми к ошибкам в HTML-коде. Игнорирование лишних пробелов и переносов строк – это часть этой гибкости. Это позволяет разработчикам форматировать HTML-код для лучшей читаемости (например, добавлять отступы, чтобы видеть вложенность тегов), не беспокоясь о том, что лишние пробелы повлияют на отображение веб-страницы для пользователя.
Неразрывный пробел
– Когда пробелы необходимы
Но что делать, если вам все-таки нужно добавить несколько пробелов подряд в HTML-код, и чтобы браузер отобразил их именно как пробелы? Например, вам нужно сделать отступ в начале строки или добавить больше пространства между словами.
Для этого в HTML существует специальный символ – неразрывный пробел, который записывается как
.
– это HTML-сущность (entity), специальный код, который представляет символ пробела, который не будет "схлопнут" браузером. Браузер отобразит
именно как один пробел, и несколько
подряд будут отображены как несколько пробелов.
Давайте посмотрим, как использовать
:
-
Вернитесь к файлу
whitespace.html
в текстовом редакторе. -
Измените второй параграф, добавив несколько
в начале строки и между словами. Скопируйте или измените код второго параграфа следующим образом:<p> Это второй параграф, в котором используются неразрывные пробелы. </p>
В этом примере мы добавили четыре
в начале строки, и несколько
между словами, чтобы создать дополнительные пробелы. -
Сохраните файл
whitespace.html
и обновите страницу в браузере. Сохраните изменения и обновите страницуwhitespace.html
в браузере.
Результат:
Теперь вы увидите, что во втором параграфе появились дополнительные пробелы там, где мы добавили
. В начале строки появился отступ, и между некоторыми словами стало больше пространства. Браузер отобразил
именно как пробелы, в отличие от обычных пробелов в коде, которые он игнорирует.
Когда использовать
?
-
Для создания отступов в начале строк (редко рекомендуется). В современной веб-разработке для создания отступов обычно используются CSS-стили, а не
. -
Для добавления небольшого дополнительного пространства между словами или элементами, когда это необходимо. Например, в меню навигации, чтобы раздвинуть пункты меню.
-
Для отображения специальных символов, которые иначе могут интерпретироваться браузером как HTML-код. Например, чтобы показать символ
<
или>
на странице, нужно использовать<
и>
соответственно.
Важно:
-
Не злоупотребляйте
для создания отступов и форматирования текста. Для этих целей лучше использовать CSS. Избыточное использование
может сделать HTML-код менее читабельным и усложнить поддержку. -
– это символ пробела, а не тег переноса строки. Он не создает новую строку. Для переноса строки используется тег<br>
, который мы рассмотрим далее.
Переносы строк <br>
– Создание новых строк внутри абзаца
Как мы уже выяснили, обычные переносы строк в HTML-коде браузер игнорирует. Если вы хотите принудительно перенести текст на новую строку внутри абзаца или другого текстового блока, вам нужно использовать специальный HTML-тег – <br>
.
<br>
– это тег переноса строки (line break). Он не является парным тегом (это самозакрывающийся тег), то есть ему не нужен закрывающий тег </br>
. Простое использование <br>
в любом месте текста в HTML-коде заставит браузер начать новую строку с этого места.
Давайте разберемся с переносами строк на примере:
-
Откройте файл
line_breaks.html
в текстовом редакторе и добавьте базовую структуру HTML-документа. -
Добавьте один параграф в секцию
<body>
и напишите в нем пример текста, который мы будем разделять на строки с помощью<br>
. Скопируйте или введите следующий код в файлline_breaks.html
:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Переносы строк</title> </head> <body> <p> Это пример текста, который мы разделим на несколько строк с помощью тега <br>. </p> </body> </html>
В этом примере мы добавили переносы строк в HTML-коде внутри тега
<p>
, чтобы текст был расположен в несколько строк в редакторе. -
Сохраните файл
line_breaks.html
и откройте его в браузере. Сохраните изменения и откройте файлline_breaks.html
в браузере.
Результат:
Вы увидите, что текст отображается в виде одного сплошного параграфа, все переносы строк в HTML-коде были проигнорированы. Браузер "схлопнул" переносы строк, как и пробелы.
-
Добавьте теги
<br>
в файлline_breaks.html
там, где вы хотите сделать переносы строк. Измените код параграфа следующим образом:<p> Это пример текста,<br> который<br> мы разделим<br> на<br> несколько<br> строк<br> с помощью тега <br>. </p>
Мы добавили тег
<br>
после каждой фразы, где хотим начать новую строку. Обратите внимание, что<br>
в последней строке – это просто текст, который будет отображен на странице, а не HTML-тег. Мы используем HTML-сущность<
для отображения символа<
в тексте, чтобы браузер не интерпретировал<br>
как HTML-тег в этом месте. -
Сохраните файл
line_breaks.html
и обновите страницу в браузере. Сохраните изменения и обновите страницуline_breaks.html
в браузере.
Результат:
Теперь вы увидите, что текст в параграфе разделен на несколько строк именно в тех местах, где мы добавили теги <br>
. Браузер интерпретировал теги <br>
и создал переносы строк, как мы и хотели.
Инструменты разработчика:
Откройте инструменты разработчика (F12) и перейдите на вкладку "Elements". Выберите тег <p>
и разверните его содержимое. Вы увидите, что теги <br>
присутствуют в HTML-коде в инструментах разработчика и отображаются как самозакрывающиеся теги <br>
.
Когда использовать <br>
?
-
Когда вам нужно сделать перенос строки внутри абзаца или другого текстового блока, не создавая новый абзац. Например, в адресах, стихотворениях, когда важна именно разбивка на строки, а не на смысловые абзацы.
-
В случаях, когда визуальное форматирование текста важнее семантической структуры. Однако, старайтесь не злоупотреблять
<br>
для создания визуальных отступов и пробелов. В большинстве случаев для визуального оформления лучше использовать CSS.
Важно:
-
Тег
<br>
следует использовать умеренно и только тогда, когда это действительно необходимо для переноса строки внутри текстового контента. -
Для создания логических разделов текста и абзацев используйте теги
<p>
, а не<br>
.<p>
создает новый абзац, который имеет семантическое значение и браузер обрабатывает его как отдельный блок текста (с отступами сверху и снизу).<br>
– это просто визуальный перенос строки внутри текущего блока текста. -
В современной веб-разработке для управления расстояниями между элементами, отступами и вертикальным расположением блоков на странице обычно используются CSS-стили (margin, padding, flexbox, grid и т.д.), а не тег
<br>
.<br>
предназначен именно для переносов строк внутри текстовых блоков, а не для общего макета страницы.
Комментарии в HTML <!-- -->
– Пояснения и организация кода
Комментарии в HTML – это важный инструмент для разработчиков, позволяющий добавлять пояснения, заметки и подсказки непосредственно в HTML-код. Комментарии не отображаются браузером на веб-странице, они видны только в исходном коде HTML.
Комментарии используются для:
-
Пояснения сложных участков кода: Чтобы другие разработчики (или вы сами через некоторое время) могли легче понять, что делает тот или иной участок HTML-кода.
-
Описания структуры HTML-документа: Чтобы сделать код более организованным и понятным. Можно комментировать разделы, блоки, отдельные теги и т.д.
-
Временного отключения (комментирования) участков кода: Чтобы временно скрыть какой-то элемент или функциональность на странице, не удаляя код полностью. Это полезно при отладке и тестировании, когда нужно временно исключить какой-то блок кода из работы.
-
Заметок для себя и других разработчиков: Например, "TODO: Добавить валидацию формы", "FIXME: Исправить ошибку в скрипте" и т.д.
Синтаксис комментариев в HTML:
Комментарии в HTML начинаются с символов <!--
и заканчиваются символами -->
. Всё, что находится между <!--
и -->
, считается комментарием и игнорируется браузером.
Комментарии могут быть однострочными или многострочными – HTML не делает различия. Всё, что находится внутри <!-- -->
– это комментарий.
Давайте посмотрим, как использовать комментарии в HTML:
-
Откройте файл
comments.html
в текстовом редакторе и добавьте базовую структуру HTML-документа. -
Добавьте несколько параграфов в секцию
<body>
. Добавьте три параграфа с простым текстом. -
Добавьте комментарии в файл
comments.html
. Добавьте однострочный комментарий перед первым параграфом, многострочный комментарий между первым и вторым параграфами, и закомментируйте второй параграф целиком, заключив его в теги комментариев. Скопируйте или измените код файлаcomments.html
следующим образом:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Комментарии в HTML</title> </head> <body> <!-- Это однострочный комментарий --> <p>Это параграф 1. Он будет отображаться на странице.</p> <!-- Это многострочный комментарий. Он может занимать несколько строк. --> <!-- <p>Это параграф 2. Он закомментирован и не будет виден на странице.</p> --> <p>Это параграф 3. Он тоже будет отображаться на странице.</p> </body> </html>
В этом примере мы добавили комментарии разного типа и закомментировали целый параграф, чтобы показать, как это работает.
-
Сохраните файл
comments.html
и откройте его в браузере. Сохраните изменения и откройте файлcomments.html
в браузере.
Результат:
Вы увидите, что на странице отображаются только параграфы 1 и 3. Параграф 2, который мы закомментировали, полностью исчез с веб-страницы. Комментарии, которые мы добавили в HTML-код, не видны в браузере.
Инструменты разработчика:
Откройте инструменты разработчика (F12) и перейдите на вкладку "Elements". Посмотрите на HTML-код в инструментах разработчика. Вы увидите, что комментарии присутствуют в HTML-коде на вкладке "Elements", они отображаются серым2 цветом и выделены специальными символами <!-- -->
, но браузер не отображает их на самой веб-странице. Вы также увидите, что закомментированный параграф 2 (вместе с тегами <p>
) также присутствует в HTML-коде в инструментах разработчика, но браузер не отображает его содержимое на странице.
Быстрое добавление комментариев в VS Code и других редакторах:
Большинство текстовых редакторов для веб-разработки, включая Visual Studio Code, предоставляют горячие клавиши для быстрого добавления и удаления комментариев. Это очень удобно при работе с кодом.
-
Закомментировать строку или выделенный блок кода:
-
Windows/Linux:
Ctrl + /
-
macOS:
Cmd + /
-
-
Раскомментировать закомментированный код: Выделите закомментированный код и снова нажмите ту же комбинацию клавиш (
Ctrl + /
илиCmd + /
).
Используйте комментарии активно! Хорошо прокомментированный код – это признак хорошего стиля программирования и уважение к другим разработчикам (и к себе в будущем!).
Итоги урока
Давайте подведем итоги урока, чтобы закрепить ключевые моменты о пробелах, переносах строк и комментариях в HTML:
-
Браузеры по умолчанию игнорируют лишние пробелы, табуляции и переносы строк в HTML-коде, "схлопывая" их до одного пробела. Это сделано для гибкости и удобства форматирования кода разработчиками.
-
Для отображения нескольких пробелов подряд в HTML используется специальная HTML-сущность
(неразрывный пробел). Однако, не следует злоупотреблять
для визуального форматирования, для этого лучше использовать CSS. -
Для создания принудительного переноса строки внутри текстового блока (без создания нового абзаца) используется тег
<br>
(самозакрывающийся тег). Используйте<br>
умеренно, в основном для переносов строк внутри текста, а не для общего макета страницы. -
Комментарии в HTML создаются с помощью конструкции
<!-- -->
. Комментарии не отображаются браузером на веб-странице, но видны в исходном коде. Комментарии используются для пояснений, организации кода и временного отключения участков кода. Активно используйте комментарии для улучшения читабельности и понимания вашего HTML-кода!
Поздравляю, вы отлично поработали, если дошли до конца этого урока!
Теперь вы знаете, как управлять пробелами и переносами строк в HTML, и умеете использовать комментарии для организации и пояснения вашего кода. Эти знания помогут вам создавать более качественный и понятный HTML-код.
Спасибо за внимание, и до встречи на следующем занятии! Не забывайте практиковаться, экспериментировать с кодом и использовать инструменты разработчика для изучения результатов!