HTML.

  HTML - язык гипертекстовой разметки - средство для наполнения контентом Web-страниц (Web-сайтов).
  HTML предназначен для создания формального кода, понятного браузеру, который, интерпретируя этот код, формирует пользовательское содержимое Web-страницы.
  Средством формализации в HTML являются теги.
  Теги HTML формализуют любой контент, который должен быть размещен на Web-странице. Этот контент может быть текстом, изображением, медиа контентом, контентом интерфейса с пользователем и проч.
  Впрочем, существуют и так называемые метатеги, которые передают информацию поисковым системам и браузерам при открытии ими HTML-документа и не формируют никакого контента на Web-странице.
  Тег HTML имеет некие узаконенные имя и правила своего применения.
  Большинство тегов создают открывающий и закрывающий элементы HTML-разметки тега, между которыми и размещается пользовательский контент.
  Открывающий и закрывающий элементы HTML-разметки тега и всё, что находится между ними, назовём элементом тега на Web-странице, из которых, собственно, она и состоит в каждый текущий момент общения пользователя с ней.
  Кроме пользовательского контента, или вместо него, между открывающим и закрывающим элементами HTML-разметки тега могут размещаться также элементы тегов этого же, или других.
  • <имя тега> - открывающий элемент HTML-разметки тега
  • </имя тега> - закрывающий элемент HTML-разметки тега
  Применение символов   < > /   узаконено стандартом HTML, и символ < нельзя использовать в текстовом контенте, предназначенном для пользователя. Однако символы > и / без предварения их символом < используются.
  Некоторые теги не создают закрывающего элемента HTML-разметки, что, строго говоря, не очень логично. Однако, получается что есть парные и непарные теги.
  Имена тегов также узаконены стандартом HTML.
  Имена тегов можно писать в HTML-коде как прописными (большими), так и строчными (малыми) буквами.
  Переносы строк, поскольку они преобразуются браузером в пробелы, в имени тега в его открывающем и закрывающем элементах HTML-разметки не разрешены.
  В случае вложенных элементов тегов внешний тег называют “родительским”, а внутренний “дочерним”. Это не узаконенные, но очень подходящие названия.
  Возможности тегов быть "родительским" или(и) "дочерним" в HTML 5 расширены и, в большинстве случаев, определяются только логикой функционала этих тегов.
  Логика применения открывающих и закрывающих элементов HTML-разметки вложенных элементов тегов понятна и не требует специального объяснения.
  Уровень вложенности может быть ограничен только профессионализмом и(или) фантазией Web-дизайнера.
  Кроме пользовательского контента элементы тегов могут содержать также служебный контент, который не отображается на Web-странице и предназначен для браузера.
  Естественно, что такой контент, чтобы его понимал браузер, должен быть как-то формализован. Он формализуется с помощью атрибутов тегов.
  Атрибут тега имеет имя атрибута и может иметь значение атрибута. Если у атрибута нет значения, то он понимается браузером только своим присутствием.
  Атрибуты прописываются в открывающем элементе HTML-разметки тега через пробел от имени тега. Значение атрибута соотносится его имени знаком равенства (=) и может заключаться в двойные кавычки (").

       <Имя тега[ Имя атрибута[=["]Значение атрибута["]]]>

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

  Каждый элемент тега, как правило, своим пользовательским контентом занимает какую-то часть текущего содержимого Web-страницы. Это пространство назовём полем элемента тега.
  Существует разделение тегов на блочные и строчные.
  Считается, что блочный тег предназначен для размещения (относительного позиционирования) контента, а строчный тег - для выделения частей контента особым отображением.
  Размеры полей элементов блочных тегов и позицию их размещения на Web-странице можно изменять атрибутами стилей. Поля элементов строчных тегов позиционируются и определятся только исходя из их места в HTML коде и заключенного в них контента.
  Однако тенденция развития HTML такова, что функционал тегов от управления размещением и отображением контента на Web-странице переходит только к управлению размещением контента. В HTML 5 ограничения функционала тегов, которые считаются строчными, практически сняты.
  Правила отображения контента блочных тегов браузерами:
  1. Содержимое элемента этого тега становится пользовательским контентом, который отделяется небольшим отступом или переносом строки от контента предыдущего элемента тега.
  2. Один, два и более следующих друг за другом пробелов считаются за один пробел.
  3. Перевод строки считается за пробел.
  4. Пробелы и переводы строки в HTML-коде между элементами блочных тегов никак не отображаются на Web-странице.
  В HTML 5 эти же правила, кроме п. 1, распространяются и на строчные теги.
  Существует также понятие встроенных тегов. Предполагается, что элементы этих тегов могут быть расположены только внутри элементов блочных тегов.
  Современные браузеры допускают использование в качестве имени тега любого допустимого символьного кода.
  Для такого (именованного разработчиком) тега доступны все универсальные атрибуты, и его имя может быть использовано в качестве селектора стиля CSS.
  Назначение такого тега можно определить с помощью атрибута стиля display, а по умолчанию, он будет являться обычным строчным тегом.
  Для элементов таких тегов в DOM браузер создаст интерфейсы с именем HTMLUnknownElement, которые унаследуют свойства и методы стандартного интерфейса HTMLElement.
  Однако, если такой тег зарегистрировать в DOM методом registerElement объекта HTMLDocument, то разработчик может создать расширенный интерфейс для элементов этого тега.
  Основой современного дизайна Web-страницы является HTML-документ.
  HTML-документ - это правильным образом оформленный HTML-код (набор элементов тегов), несущий определенную логическую нагрузку и, как правило, хранимый в отдельном файле.
  Такие файлы, как правило, имеют расширение htm или html. И, как правило, хранятся в папках, которые имеют одну и ту же "родительскую" папку - она называется корневой папкой Web-страницы.
  Отдельные HTML-документы (их файлы) или они все могут храниться и в корневой папке.
  Впрочем, логика расположения HTML-документов не является стандартом, она подчинена логике разработчика, хотя понятие корневой папки общеупотребительно.
  Скриптам, использующим объектную модель документа, доступны HTML-объекты только в пределах HTML-документа, в котором эти скрипты выполняются.
  Web-страница занимает всё окно браузера и логически может состоять из множества HTML-документов, которые могут занимать в окне браузера свои, выделенные им области (фреймы).
  Некоторые из этих фреймов в объектной модели документа, как и окно браузера, также имеют статус окна, другие могут занимать части одного и того же окна (это может быть и окно браузера) или фрейма.
  Любой HTML-документ может быть загружен на Web-страницу по ссылке из текущего HTML-документа, причем не заменяя последний. Поэтому какие-то HTML-документы в текущий момент могут быть подгружены на Web-страницу и формировать пользовательский контент, а какие-то ожидать своей очереди и не участвовать, до времени, в общении с пользователем.
  Каждый HTML-документ находящийся в текущий момент на Web-странице, который "породил" другой HTML-документ также находящийся в текущий момент на Web-странице, может считаться "родительским" по отношению к последнему и его "потомкам", а его "потомки" соответственно "дочерними" по отношению к нему.
  Точно также, каждое окно или фрейм, в котором находится другой фрейм, может считаться "родительским" по отношению к последнему и его "потомкам", а его "потомки" соответственно "дочерними" по отношению к нему.