Основы
HTML расшифровывается как HyperText Markup Language (язык разметки гипертекста):
Блочные и строчные элементы
В HTML вам, в основном, будут попадаться два типа элементов HTML:
Блочные элементы, вроде:
Строчные элементы, вроде:
Блочные элементы предназначены для структурирования основных частей вашей страницы, путём разделения содержимого на логически связанные блоки.
Строчные элементы предназначены, чтобы разграничить часть текста и придать ему определённую функцию или смысл. Строчные элементы, как правило, содержат одно или несколько слов.
<p>Вы уже видели это <a href="http://www.youtube.com">замечательное видео</a> на YouTube?</p>
Все блочные элементы содержат открывающие и закрывающие теги.
Как результат, самозакрывающие элементы являются строчными, просто потому, что их синтаксис не позволяет им содержать любой другой элемент HTML.
Иерархия в HTML
HTML-документ - это как большое семейное древо, с родителями, братьями, детьми, предками и потомками. Всё это происходит из возможности вкладывать одни элементы HTML внутрь других.
Давайте напишем простой абзац и улучшим его путём разделения частей текста, вставив два строчных элемента:
<p> Сэр <strong>Алекс Фергюсон</strong> однажды сказал о Филиппо Индзаги: <q>Этот парень должен был родиться в положении вне игры</q>. </p>
В этой структуре:
Тот факт, что <strong> отображается жирным шрифтом, является только поведением браузера по умолчанию. Помните, что вы должны выбирать элементы HTML в соответствии с их значением, а не как они выглядят.
В данном случае:
Семантика в HTML
Целью тегов HTML является передача смысла документу. Не беспокойтесь о том, как ваша веб-страница выглядит. Сосредоточьтесь на значении каждого тега, который вы будете использовать.
Диапазон элементов достаточно широк, чтобы он подходил и для материалов общего назначения (например, абзацы или списки) и для более конкретного содержимого, вроде <output> (для отображения результата вычисления) или <progress> (для отображения хода выполнения задачи).
Структурные элементы: организация страницы
Структурные элементы позволяют организовать основные части вашей страницы. Они обычно содержат другие элементы HTML.
Вот что типичная веб-страница может в себя включать:
Текстовые элементы: определение контента
Внутри структурных элементов вы обычно находите текстовые элементы, призванные определить цель вашего содержимого.
Вы, в основном, будете использовать:
Строчные элементы: различный текст
Поскольку текстовые элементы могут быть длинными, но с разным содержанием, строчные элементы позволяют различать части текста.
Есть много строчных элементов, но вы обычно столкнётесь со следующими:
Общие элементы
Когда ни один семантический элемент не подходит для вашего содержимого, но вы всё ещё хотите вставить элемент HTML (в целях группирования или стилизации), то можете остановиться на одном из двух общих элементов:
Хотя эти элементы HTML на самом деле не несут какого-либо смысла, они пригодятся когда мы начнём использовать CSS.
Форматирование HTML
Существует разница между тем, что написано в вашем коде HTML и что отображается в браузере.
Как мы уже видели, теги HTML, такие как <р>, только читаются браузером (чтобы знать, какой тип содержимого написан), но не отображаются в нём. Мы также видели, как можно писать комментарии в коде HTML, чтобы помочь человеку с чтением кода, без необходимости отображать эти комментарии в браузере.
Другим видом написанного кода, который игнорируется браузером, является пробел, он включает в себя:
Переносы строк и пустые строки (которые представляют собой последовательность переносов строк) в коде HTML игнорируются браузером. Они составляют лишь единое пространство. Чтобы реально вставить перенос строки вам нужно использовать элемент <br>.
Табуляция - это специальный символ, полученный с помощью клавиши Tab. Она обычно перемещает курсор на следующую позицию табуляции, но иногда превращается в два пробела. Во всяком случае, как и обычный пробел, табуляция невидима. Она также игнорируется браузером.
Валидный HTML-документ
До сих пор мы рассматривали отдельные фрагменты кода HTML. Но HTML-документ (или веб-страница, что означает то же самое) требует определённой структуры для того, чтобы стать валидным.
Доктайп
Первой информацией которую мы пишем, является тип HTML-документа - доктайп. Подумайте о доктайпе как о версии автомобиля на протяжении многих лет: Ford Fiesta, купленный в 1986 году, был Fiesta 2. Если вы покупаете его сегодня, то это Fiesta 7. Раньше сосуществовало несколько версий HTML (XHTML и HTML 4.01 были конкурирующими стандартами). В настоящее время нормой является HTML5.
Чтобы сообщить браузеру, что HTML-документ представляет собой HTML5, просто начните свой документ со следующей строки:
<!DOCTYPE html>
Элемент <html>
Помимо строки с доктайпом, весь ваш HTML-документ должен располагаться внутри элемента <html>:
<!DOCTYPE html> <html> <!-- Здесь остальная часть вашего кода HTML --> </html>
<html> технически является предком всех элементов HTML.
<head>
Как атрибуты несут дополнительную информацию для элемента HTML, так и элемент <head> несёт дополнительную информацию для всей веб-страницы.
Например, заголовок страницы (отображается на вкладке) находится в <head>:
<head> <title>Мой сказочный блог</title> </head>
Следующие элементы HTML могут появляться в <head> и только в <head>:
<body>
В то время как <head> содержит только метаданные, не предназначенные для отображения вообще (за исключением <title>), то элемент <body> это место, где мы пишем всё наше содержимое. Всё внутри <body> будет отображаться в окне браузера.
Полностью валидный HTML-документ:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>MarkSheet</title> <meta name="description" content="Простое руководство по HTML"> </head> <body> <p>Привет, мир!</p> </body> </html>
W3C предлагает Markup Validation Service для проверки любого HTML-документа на наличие ошибок и предупреждений.