HTML и веб-страницы

В своих предыдущих статьях, «Статические основы» и «Динамический веб», я сделал общее введение в область веб-разработки, но в следующей паре статей мы рассмотрим отдельные веб-технологии более глубоко и фундаментально. Итак, вы готовы к поездке? 🚍 Вот наша первая остановка — HTML.

Для начала, позвольте мне сказать прямо — HTML означает HyperText Markup Langauge, и это не язык программирования. (Упс… дебаты начались 🤦.) Прежде всего, мы должны понять, что такое язык разметки.

Язык разметки — это способ кодирования документа, в котором наряду с текстом используются метки или знаки, содержащие дополнительную информацию о структуре текста или его представлении.

Проще говоря, язык разметки используется для представления определенной части данных в определенной структуре; это может быть текст, изображения, таблицы и т. д. Он не может использоваться для программирования каких-либо задач, в отличие от того, на что должен быть способен язык программирования. HTML, XML, SVG — все это примеры языка разметки.

Теперь вернемся к HTML. Текст, который вы читаете на веб-страницах, — это не просто обычный текст, а целая куча информации о нем, которая говорит о структуре текста и о том, как он должен быть представлен. Рассмотрим в качестве примера следующее предложение
Меня зовут Сапиндер Сингх. Я создатель контента.

HTML-код для приведенного выше предложения выглядит следующим образом

<b>My Name is <i>Sapinder Singh</i>. I'm a <i>content creator</i>.</b>
Войти в полноэкранный режим Выйти из полноэкранного режима

Как видите, теги <b> (для полужирного) и <i> (для курсивного) имеют свой собственный способ представления данных, которые они содержат. Рассмотрим другой пример —
«Я использую VS Code для кодирования».

Этот текст содержит ссылку на другую веб-страницу, на которую можно перейти, щелкнув по выделенному тексту. И это, по сути, то, что означает «гипертекст» в HTML. 🫢 Гипертекст — это любой текст, содержащий ссылку на другой текст, доступ к которому можно получить, взаимодействуя с гиперссылкой
(которая в данном случае является «VS Code»). По сути, именно так мы переходим с одной веб-страницы на другую.

Синтаксический обзор HTML

HTML — это строительный блок веб-страницы. Он определяет различные типы текста и мультимедиа с помощью различных тегов, где каждый тег состоит из пары открывающих и закрывающих тегов. Например, если мы хотим написать абзац текста, мы откроем тег p как в <p>; вставим текст; а затем закроем тег как в </p>. Затем у нас есть атрибуты для каждого тега.

Атрибут — это просто свойство тега, которое содержит определенный тип значения. Мы определяем атрибут в форме name="value"; например, посмотрите на следующий фрагмент, определяющий гиперссылку с именем «VS Code». Для определения гиперссылки используется тег a (якорь), который требует атрибута href, который
должен указывать на URL-адрес.

<a href="https://code.visualstudio.com">VS Code</a>
Вход в полноэкранный режим Выход из полноэкранного режима

Существуют теги, которые не нужно закрывать, они называются самозакрывающимися. Мы не предоставляем никакого значения, а только атрибуты
этим тегам. Самым основным примером самозакрывающегося тега является <!Doctype html>, с которого должны начинаться все документы HTML5. Он указывает браузерам следовать наиболее актуальным спецификациям для рендеринга страницы. Вы можете найти краткое & действительно хорошее объяснение Doctype на этой странице MDN. Тем не менее, все остальное в HTML-документе находится внутри тега html; именно поэтому его называют корневым элементом веб-страницы. Этот тег html состоит из двух частей — head и body.

<!DOCTYPE html>
<html>
    <head></head>
    <body></body>
</html>
Вход в полноэкранный режим Выход из полноэкранного режима

Заголовок head веб-страницы не виден непосредственно пользователю, так как содержит информацию, которую должен читать не пользователь, а браузер. Она содержит такую информацию, как:

  • заголовок страницы, который используется в строке заголовка браузера и для оптимизации поисковых систем.
  • стили для оформления веб-страницы. Эти стили написаны на языке CSS.
  • скрипты для добавления исполняемого кода на веб-страницу. Единственное назначение скриптов — обрабатывать взаимодействие пользователя с веб-страницей.
  • другие теги meta для дополнительной информации, такой как набор символов, фавиконы и другие типы метаданных.

Вот пример того, что мы обычно видим внутри тега head.

<head>
    <!-- defines the character set of the web page -->
    <meta name="charset" content="UTF-8">

    <!-- defines the title of the web page -->
    <title>The Theory Of HTML</title>

    <!-- links the styles.css file to the web page -->
    <link href="./styles.css" rel="stylesheet" type="text/css">

    <!-- links the fonts from Google Fonts -->
    <link 
        href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,600;0,700;0,800;1,600&display=swap" 
        rel="stylesheet preload">

    <!-- links the script.js file to the web page -->
    <script src="./script.js"></script>
</head>
Вход в полноэкранный режим Выход из полноэкранного режима

body

Тег body представляет собой видимую часть веб-страницы. Все, что вы читаете, видите или с чем взаимодействуете на веб-странице, находится
помещается в тело страницы. Каждый тип содержимого представлен определенным тегом; некоторые из распространенных тегов следующие:

  • p — представляет собой абзац текста.
  • img — представляет изображение. Он требует атрибута src, который должен содержать путь к изображению.
  • section — представляет раздел страницы.
  • h1 — h6 — представляют собой уровень заголовка для раздела. Наименьший допустимый уровень заголовка — <h6>.
  • кнопка — представляет собой кнопку.
  • форма — представляет собой форму для отправки информации.
  • input — представляет поле ввода. Оно может принимать различные типы ввода в зависимости от значения атрибута type.

Вы можете прочитать больше о различных видах элементов HTML на справочной странице MDN по HTML.

Забавный факт

Если вы опустите, неправильно напишете или неправильно расположите любой из тегов в HTML, браузер, молча, просто отобразит страницу с неправильной или нарушенной версткой. В отличие от языка программирования, HTML не выдаст никакой ошибки; отсюда и доказательство того, что это просто язык разметки. 😉

Как происходит рендеринг веб-страницы

Итак, теперь вы знаете, как мы пишем HTML, но вы также должны знать, как происходит отображение веб-страницы вместе с источниками, которые связаны с HTML-файлом. Итак, как только HTML-файл попадает в браузер клиента, он начинает создавать так называемую объектную модель документа. DOM — это перевернутое дерево объектной модели, единственная цель которого — представить HTML-документ в памяти и сделать его понятным для JavaScript-движка браузера. Корнем этого дерева является элемент html, который разветвляется на head и body, которые далее разветвляются на свои дочерние элементы, и так далее, и так далее.

DOM представляет документ в виде логического дерева. Каждая ветвь дерева заканчивается узлом, а каждый узел содержит объекты. Методы DOM обеспечивают программный доступ к дереву. С их помощью можно изменить структуру, стиль или содержание документа.
MDN

При построении дерева DOM браузер сталкивается с несколькими связанными ресурсами, которые были определены в head документа. Учитывая фрагмент, который я привел в разделе head, вот что происходит дальше:

  • Когда он встречает link для файла ./styles.css, он приостанавливает разбор документа, запрашивает файл с сервера, разбирает стили и возобновляет процесс.
  • Затем он встречает link для шрифтов; опять же, он сначала запрашивает шрифты, анализирует их и возобновляет процесс.
  • Наконец, он встречает тег script, который он загружает и выполняет в зависимости от предоставленных атрибутов. (Подробнее читайте здесь)

Как только браузер заканчивает разбор документа и стилей, он объединяет их в Render Tree и определяет макет веб-страницы. Затем он окончательно отрисовывает документ, и мы видим веб-страницу в окне браузера. Весь этот процесс известен как Critical Rendering Path. Если вы хотите узнать о нем больше, вы можете прочитать это руководство
в MDN.

Подведение итогов

Ну вот и все, друзья! Надеюсь, вы нашли это руководство полезным для углубления ваших знаний о HTML и веб-страницах! Если вам понравилось, не забудьте подписаться на меня, чтобы не пропустить ни одного из моих будущих постов! Вы также можете проверить меня в Twitter, Github и LinkedIn.

Увидимся в следующем выпуске! 😉

Оцените статью
devanswers.ru
Добавить комментарий