Вёрстка — создание структуры html-кода, размещающего элементы веб-страницы (изображения, текст и т. д.) в окне браузера, согласно разработанному макету, таким образом, чтобы элементы дизайна выглядели аналогично макету.
Верстка должна быть:
адаптивной;
кроссбраузерной (https://caniuse.com/);
семантичной (https://gsnedders.html5.org/outliner/);
валидной (https://validator.w3.org/);
также: простотой, гибкой, компонентной.
HTML (HyperText Markup Language — «язык гипертекстовой разметки») — стандартизированный язык разметки документов (веб-страниц).
CSS (Cascading Style Sheets — каскадные таблицы стилей) — формальный язык описания внешнего вида документа, написанного с использованием языка разметки.
Актуальные версии: HTML 5 и CSS 3.
Tag (тег) — элемент языка разметки гипертекста.
Существуют парные теги (включают открывающийся и закрывающийся теги) и одиночные. Теги могут вкладываться друг в друга. При вложении следует соблюдать порядок их закрытия (принцип «матрёшки»).
<p> Text </p> - парный
<br/> - одиночный
<p><i> Hello! </i></p> - верно
<p><i> Hello! </p></i> - неверно
Язык HTML следует правилам, которые содержатся в файле объявления типа документа (Document Type Definition, или DTD).
DTD представляет собой XML-документ, определяющий, какие теги, атрибуты и их значения действительны для конкретного типа HTML. Для каждой версии HTML есть свой DTD.
DOCTYPE отвечает за корректное отображение веб-страницы браузером. DOCTYPE определяет не только версию HTML (например, html), но и соответствующий DTD-файл в Интернете.
<!-- Объявление формата документа -->
<!DOCTYPE html>
<html>
<head>
<!-- Определяем кодировку символов документа -->
<meta charset="utf-8">
<!– Устанавливаем параметры отображения страницы на мобильных устройствах -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Задаем заголовок документа -->
<title>Title</title>
<!-- Подключаем внешнюю таблицу стилей -->
<link media="all" rel="stylesheet" href="css/main.css">
<!-- Подключаем скрипты -->
<script src="js/main.js"></script>
</head>
<body>
<!-- Основная часть документа -->
</body>
</html>
Элементы, находящиеся внутри тега <html>, образуют дерево документа, так называемую объектную модель документа, DOM (document object model). При этом элемент <html> является корневым элементом.
Дочерний элемент — элемент, непосредственно подчиненный другому элементу более высокого уровня.
Сестринский элемент — элемент, имеющий общий родительский элемент с рассматриваемым, так называемые элементы одного уровня.
Выделяют две основные категории HTML-элементов, которые соответствуют типам их содержимого и поведению в структуре веб-страницы — блочные и строчные элементы. С помощью блочных элементов можно создавать структуру веб-страницы, строчные элементы используются для форматирования текстовых фрагментов.
примеры блочных: <p>, <div>, <form>, <nav>, <ul>, <h1>, ...
примеры строчных: <a>, <span>, <b>, <em>, <i>, <mark>, ...
Теги могут содержать атрибуты. С их помощью можно менять свойства объекта, которому соответствует тег.
Атрибуты записываются внутри открывающего тега через пробел от его имени в виде отдельного ключевого слова или ключевого слова, знака “=” и параметра (значения атрибута). Существуют универсальные атрибуты, которые применяются практически ко всем тегам.
Универсальные атрибуты:
class - определяет имя класса, которое позволяет связать тег со стилевым оформлением;
id - указывает имя стилевого идентификатора;
style - применяется для определения стиля элемента с помощью правил CSS;
title - описывает содержимое элемента в виде всплывающей подсказки.
- служебные теги (doctype, head, title, ...);
- теги для группировки контента (div, header, main, footer, section, article, ...);
- списки (ol, ul, dl);
- ссылки (a);
- таблицы (table, thead, tbody, tr, th, td, ...);
- текстовые (h1, p, q, strong, ...);
- изображения (img, …);
- формы (form, input, select, button, ...).
Полный список тегов - https://html5book.ru/examples/html-tags.html
<header class="header">
<a href="#" class="logo"><img src="images/logo.png" alt="logo"></a>
<nav class="main-nav">
<ul>
<li><a href="#">Item 01</a></li>
<li><a href="#">Item 02</a></li>
<li><a href="#">Item 03</a></li>
<li><a href="#">Item 04</a></li>
</ul>
</nav>
</header>
<section>
<h1>Main heading</h1>
<article>
<h2>...</h2>
<p>...</p>
</article>
<article>
<h2>...</h2>
<p>...</p>
</article>
</section>
Layout - это шаблон(каркас) веб-страницы.