1️⃣
Разметка
  • 1. 1. Введение
  • 1. 2. Введение в HTML
  • 1. 3. Подходы к разметке
  • 1. 4. Работа со спецификацией
  • 1. 5. Проверка валидности
  • 1. 6. Часто используемые теги и типовые ошибки
  • 1. 7. Методика семантической разметки
    • 1. 7. 1. Определяем DOCTYPE
    • 1. 7. 2. Шаг 1. Выделяем крупные смысловые блоки на каждой странице сайта
    • 1. 7. 3. Шаг 2. Размечаем в блоках крупные смысловые разделы
    • 1. 7. 4. Шаг 3. Выделяем заголовок всего документа и заголовки смысловых разделов
    • 1. 7. 5. Шаг 4. Размечаем мелкие элементы в смысловых разделах
    • 1. 7. 6. Шаг 5. Размечаем фразовые элементы
  • 1. 8. Использование тега br
  • 1. 9. DOCTYPE
  • 1. 10. Как работает атрибут target
  • 1. 11. Правильное использование ссылок и кнопок
  • 1. 12. Как делать пустые ссылки?
  • 1. 13. Как правильно скрывать элементы?
  • 1. 14. Когда применять список терминов (dl)?
  • 1. 15. Как использовать ссылки mailto: и tel:
  • 1. 16. Именование сущностей
  • 1. 17. Разметка по БЭМ
    • 1. 17. 1. Введение
    • 1. 17. 2. Предыстория
    • 1. 17. 3. Частые проблемы из-за неправильной CSS-архитектуры проекта
    • 1. 17. 4. Основные понятия
    • 1. 17. 5. Свод правил БЭМ-а
    • 1. 17. 6. БЭМ для CMS
    • 1. 17. 7. Названия классов по БЭМ
    • 1. 17. 8. БЭМ — это про компоненты
    • 1. 17. 9. Темизация
    • 1. 17. 10. Плюсы и минусы БЭМ
    • 1. 17. 11. Алгоритм выделения блоков
    • 1. 17. 12. Типовые интерфейсные решения
    • 1. 17. 13. Блоки и элементы
    • 1. 17. 14. Миксы блоков и элементов
    • 1. 17. 15. Модификаторы блоков и элементов
    • 1. 17. 16. Типовые ошибки
  • Дополнительные материалы
Powered by GitBook
On this page

1. 2. Введение в HTML

Previous1. 1. ВведениеNext1. 3. Подходы к разметке

Last updated 1 year ago

Что такое язык HTML? Зачем он нужен? Из чего он состоит? Давайте разбираться.

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

Теги

Каждый элемент языка HTML называется тегом. Теги — это такие кирпичики, из которых строится страница. Они состоят из двух знаков «больше» и «меньше», между которыми находится имя тега.

Примеры тегов

Давайте рассмотрим виды тегов: они бывают парные, а бывают одиночные.

Парные теги

Парные теги предназначены для того, чтобы внутри них что-то размещалось. Внутрь парных тегов обычно вкладывают либо текст, либо другие теги.

Одиночные теги

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

Некоторые одиночные теги должны иметь дополнительные атрибуты, чтобы они имели смысл и работали. Самый простой пример — тег img, который обозначает изображение. У изображения должен быть адрес, чтобы браузер знал, откуда его скачать. Этот адрес хранится в соответствующем атрибуте тега.

Основная разница между одиночными и парными тегами в том, что у парных есть закрывающий тег, в котором перед именем тега ставится «обратный слеш». Раньше у одиночных тегов тоже ставился закрывающий слеш, сейчас это не требуется.

Правила вложенности

Теги можно вкладывать друг в друга, но при этом нужно соблюдать определённые правила. Самое главное и универсальное правило — теги должны закрываться верно, то есть в правильном порядке: вложенный внутрь тег должен закрываться раньше, чем внешний, родительский.

Есть и другие правила, которые касаются каких-то конкретных тегов. Например, есть тег ul, который обозначает неупорядоченный список. Внутри этого тега могут быть только теги li — элементы списка. А вот внутри тегов li могут быть другие теги.

С правилами вложенности вы познакомитесь позже, постепенно изучая теги в течение курса и проверяя свой HTML-код в специальном сервисе — валидаторе. О нём мы поговорим позже.

Атрибуты тегов

Атрибуты — это дополнительные свойства тегов. Атрибуты пишутся внутри тега — рядом с именем тега внутри символов «больше» и «меньше».

После имени атрибута обычно идёт его значение. Имя атрибута и значение разделяются знаком равно. Атрибуты, если их несколько, пишутся через пробел.

Атрибуты бывают обязательные и необязательные. Например, существует обязательный атрибут — src, который обозначает адрес картинки в теге. Самый популярный необязательный атрибут — class. Мы будем много использовать его.

Существуют атрибуты, которые не имеют значения. Они называются бинарными. Если такой атрибут есть у тега, это что-то означает, если нет атрибута — это тоже что-то означает. Например, атрибут disabled. Если он есть, то кнопка или поле ввода могут быть неактивны. И наоборот.

<input type="date" disabled class="input-date">

Простейшая страница

Теперь давайте посмотрим, как выглядит самая простая HTML-страница в самом минимальном варианте. Ниже вы видите код такой страницы. Давайте разберёмся, что в нём есть.

Самое первое, что вы видите, и самое первое, что ожидает прочитать браузер — это специальная конструкция (или даже инструкция), которая называется DOCTYPE или объявление типа документа.

Прописывая DOCTYPE в начале документа, вы декларируете, на какой версии языка HTML вы пишете этот документ. И дальше, в зависимости от того, какая версия языка используется, браузер по-разному может отрисовывать и обрабатывать страницу. DOCTYPE пробел HTML означает последнюю версию, в нашем случае это HTML5 — мажорная версия.

После определения типа документа идут те самые теги. Самый главный тег — html. В нём находятся все остальные HTML-элементы. В html есть две части, два тега: head и body. head — это условно «голова», а body — «тело». Зачем они нужны?

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

Например, браузер смотрит в head и видит какую-то кодировку. В зависимости от кодировки, указанной в теге head, он меняет отрисовку всей страницы. Если установить неправильную кодировку, то вместо русских символов вы увидите иероглифы.

Ещё пример: в теге title пишется заголовок, который отрисовывается у вас на вкладке в браузере.

Ещё в теге head можно подключать стили, которые влияют на отображение всего документа, скрипты, влияющие на поведение. Туда можно прописывать метаинформацию для поисковиков и так далее.

То есть head — это хранилище для метаинформации. Всё, что находится внутри head, не может отрисовываться на самой странице.

В body располагаются теги, которые могут отрисоваться на странице. То есть само содержимое. Тегов содержимого достаточно много и постепенно в течение курса вы с ними познакомитесь.

Страница сложнее

Посмотрите на более сложную страницу.

Давайте подробнее разберём теги внутри head. Их два типа. Первый тип — это так называемая метаинформация, которую могут использовать браузеры, поисковики, какие-то другие сервисы.

Второй тип — это теги для подключения внешних ресурсов. Например, тег link. В частности, с помощью тега link мы подключаем стили. У него есть атрибут rel, который означает «отношение». То есть браузер интересуется: «Какое отношение этот ресурс (который вы с помощью link подключаете) имеет к этой странице?». И мы говорим: «Этот ресурс (который мы с помощью link подключаем) имеет такое отношение к этой странице, что это её стилевые файлы, товарищ Браузер». Он говорит: «Понятно, стили» — из атрибута href берёт адрес и скачивает этот стилевой файл, применяет стили и отрисовывает картинку сайта.

Тут у вас может сразу возникнуть вопрос: так, стоп, совсем недавно вы рассказывали про тег img, у которого есть атрибут src, который тоже обозначает адрес для скачивания картинки. А сейчас появился какой-то тег link, у него есть атрибут href и это тоже адрес. Почему там src, а здесь href? Так вышло исторически. У разработчиков спецификации получилось так, что у разных тегов появились разные атрибуты для указания адресов. Для ссылок — href, для картинок — src.

Парные теги
Одиночные теги
Вложенные теги
Ошибочное использование тегов
Атрибуты
Простейшая HTML-страница
HTML-страница
Примеры тегов
Ошибочное использование тегов
Парные теги
Одиночные теги
Простейшая HTML-страница
HTML-страница
Атрибуты
Вложенные теги