Здравствуйте, дорогие студенты! Добро пожаловать на пятый урок нашего курса веб-разработки. На прошлом занятии мы подробно изучили теги заголовков и узнали, как структурировать текст на веб-странице с их помощью.
Сегодня мы рассмотрим три важных аспекта 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-код.
Спасибо за внимание, и до встречи на следующем занятии! Не забывайте практиковаться, экспериментировать с кодом и использовать инструменты разработчика для изучения результатов!