Структура html файла: HTML — Урок 2. Структура html

Структура html-документа

Теги

Язык HTML состоит из тегов. Каждый тег является элементом разметки гипертекста, и выполняет свою определенную функцию. Одни теги нужны для создания структуры html-документа, указания различной информации о веб-странице, другие – для форматирования и создания элементов на веб-странице, например, чтобы создать кнопку, необходим тег <button>Кнопка</button>, а чтобы перенести текст на новую строку – тег <br>.

Теги бывают парными, например тег <button>...</button>, и одиночными, например, тег <br>. Парные теги состоят из начального или открывающего тега, и конечного или закрывающего тега. Закрывающий тег записывается со слэшем.

Каркас html-документа

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Название веб-страницы</title>
    </head>
    <body>
        
    </body>
</html>

Тип документа

В первой строке html-документа принято указывать тип документа. Делать это нужно обязательно, потому что существует несколько версий языка html, и у каждой есть свои правила и стандарты. Если браузеру не сообщить о версии HTML, то он не будет знать какому стандарту нужно следовать при отображении веб-страницы, что может привести к ее некорректному отображению.

При вёрстке веб-страниц мы будем использовать пятую версию языка – HTML5. Для этой версии тип документа записывается таким образом: <!doctype html>.

Теги верхнего уровня

Каркас html-документа образуют теги верхнего уровня <html>, <head>и <body>.

Теги <head>и <body>определяеют заголовок и тело html-документа.

Теги заголовка документа

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

Кодировка html-документа
<meta charset="utf-8">

Кодировку html-документа указывают при помощи тега <meta>и его атрибута charset.

Атрибуты тегов записываются как пара, состоящая из имени и значения. Значения атрибутов записываются в кавычках. У тега может быть несколько атрибутов, в этом случае они записываются через пробел.

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

Обратите внимание! Если вы указали в качестве кодировки веб-страницы значение utf-8, то и сохранить html-документ необходимо в этой кодировке.

Название html-документа

Название или заголовок html-документа записывается между тегами

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

Содержимое тега <title>отображается:

  • на вкладках веб-страниц
  • в списке закладок
  • в названии файла при сохранении веб-страницы на жесткий диск;
  • в списке результатов поискового запроса на сайтах популярных поисковых систем (Google, Yandex) первыми отображаются сайты, содержащие слова вашего запроса именно в заголовке.

Теги тела документа

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


Видео к уроку

Поделиться с друзьями:

Структура HTML-документа | bookhtml.ru

В этом уроке ознакомимся со структурой html-документа

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

Открываем блокнот и пишем первую строку документа:

<!DOCTYPE html public «-//W3C//DTD html 4. 01 Transitional//EN»>

В этой строке идет указание версии языка html на которой пишется html-документ. В данном случае версия 4.01.

Следующие — это два корневых тега <html> и </html> именно они указывают, что все, что лежит внутри этих тегов и является html-кодом. А что же такое тег? Это и есть ячейка (элемент) языка html из которых мы и делаем разметку всего документа. Тег всегда заключается в угловые скобки < и >. Теги бывают парные и непарные. В данном случае мы видим парный тег. <html> — открывающий, </html> — закрывающий тег. Непарный тег — это тег одинарный: только открывающий.

Вторым элементом структуры html-документа является парный тег <head> и </head>. Это голова документа которая содержит служебную информацию (название страницы, ее кодировку, различные мета-теги для поисковых систем и др.) Первый тег, который помещаем в голову документа тег <title>.

<title>заголовок документа (web-страницы)</title>

Следующий тег в голове документа — тег кодировки:

<meta http-equiv=»Content-Type» content=»text/html; charset=windows-1251″>

Это кодировка текста на русском языке. И еще мы видим пример непарного (одинарного) тега.

Не последнее место в структуре html-документа занимает служебный тег мета тег «Keywords»:

<meta name=»Keywords» content=»Ключевые слова»>

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

Далее в структуре html-документа идет служебный тег мета «Description»:

<meta name=»Description» content=»Описание страницы»>

Это так же тег для поисковиков. В него вписываем краткое описание вашей страницы (о чем ее содержание).

EndSeo.ru — влияние description на продвижение сайта в поисковых системах.

Из всех перечисленных тегов пользователь увидит только тег <title>, который отображается в самом верху браузера.

Основной же контент который будет видеть пользователь размещается между тегами <body> и </body>.

Body с английского — это тело, так-что все прописанное в этом теге есть тело html-документа в котором будет содержаться вся информация, которую увидит пользователь, зашедший на вашу web-страницу.

Давайте теперь просмотрим целиком структуру html-документа, которую мы записали в блокноте:

<!DOCTYPE html public «-//W3C//DTD html 4.01 Transitional//EN»>

<html>

<head>

<title>заголовок документа (web-страницы)</title>

<meta http-equiv=»Content-Type» content=»text/html; charset=windows-1251″>

<meta name=»Keywords» content=»Ключевые слова»>

<meta name=»Description» content=»Описание страницы»>

</head>

<body>

 

</body>

</html>


Это и есть основная структура html-документа. Осталось наполнить страницу каким-нибудь содержимым, что бы посмотреть результаты работы. Этот каркас документа мы будем использовать во всех страницах, которые будем создавать, лишь будем менять название страницы, ключевые слова и описание страницы.

После того, как вы прописали в блокноте этот html-код, давайте сохраним этот файл в ту папку, которую мы создали для этой цели. Не забудьте при этом дать имя файлу (например: index) и сменить расширение txt на html, что бы операционная система знала, что это html-файл, а не обычный текстовый. Тип файла — все файлы.

Откроем созданный нами файл браузером. Как видим — страница пуста. Это потому, что тег <body> ни чем не наполнен. Так давайте же займемся наполнением нашей web-странички.

Добавим в тело нашей страницы два абзаца, применив при этом парный тег <p>. Там где абзац начинается ставим открывающий тег <p>, где абзац заканчивается ставим закрывающий тег </p>.

Пример:

<p>Первый абзац</p>

<p>Второй абзац</p>


Добавьте эти два абзаца (можно вставить свой текст) в html-файл и просмотрите в браузере результат.

Как открыть html-файл в браузере можно узнать в следующем уроке.

 

Структура файла

Веб-сайты состоят из файлов — файлов кода, таких как HTML и CSS, и мультимедийных файлов, таких как изображения, видео и аудио. Чтобы все работало как надо, важно уделить особое внимание структуре папок, в которых находятся эти файлы.

Папка проекта

Каждый проект веб-сайта должен иметь свою домашнюю папку. Это называется корневым каталогом . ( Справочник — это термин веб-жаргона для

папка .)

Когда вы разрабатываете сайт локально (на своем компьютере), корневой каталог служит для хранения ваших файлов вместе и правильной структуры. Когда вы перемещаете сайт на сервер для использования в Интернете, корневой каталог становится тем более важным, поскольку именно в нем браузер ищет файлы, когда находит IP-адрес сервера.

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

Домашняя страница

Файл HTML для домашней страницы веб-сайта должен всегда называться index.html . Это связано с тем, что браузер, который был направлен на сервер или в каталог, всегда пытается отобразить файл с этим именем, если он не был специально указан на другой файл.

Таким образом, файл index.html всегда следует размещать непосредственно в корневом каталоге, а не в каких-либо подпапках.

Примечание: любая папка может иметь собственный index.html , а браузер, направленный на эту папку без указания конкретного файла, отобразит index.html . Например, если браузер был направлен на https://site.com/folder , он отобразит https://site.com/folder/index.html , если присутствует файл index. html . .

Подпапки

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

Чтобы сослаться на файл в подпапке, путь к файлу (записанное местоположение файла) должен быть записан так, чтобы включать имя папки, за которым следует косая черта: subfolder/file.html . Если папок несколько, каждая из них может быть записана в одном формате: подпапка/подпапка/файл.html .

Родительские папки

Чтобы указать на папку, которая является родительской на папку, содержащую текущий файл, напишите две точки и косую черту ( ../ ) в пути к файлу указывает на перемещение вверх по дереву файлов. Таким образом, ../file.html будет указывать на файл на одну папку вверх по от файла, в котором прописан путь к файлу.

Для перемещения вверх по нескольким папкам один и тот же шаблон может повторяться столько раз, сколько необходимо:

../../../file.html указывает на файл, расположенный на три папки выше от файла, в котором он записан.

Практическое упражнение

Базовая структура документа HTML

Эта статья является частью серии статей для начинающих веб-разработчиков. Серия предназначена для людей, которые хотели бы начать серьезную веб-разработку, а также для людей, которые уже являются веб-разработчиками и хотят укрепить свои знания основ, возможно, заполнив некоторые пробелы. Если вы обнаружите, что возитесь с HTML, CSS или Javascript, пока не заработаете, эта серия статей для вас. Материалы этой серии тесно связаны с моим курсом Coursera с самым высоким рейтингом.

В одной из предыдущих статей под названием «Что такое HTML» я упомянул, что технически HTML-страница представляет собой основанный на тегах документ , который следует набору синтаксических правил.

В этой статье я покажу вам, как закодировать очень простой HTML-документ, а затем отобразить его в браузере.

Как и обычный документ, HTML-документ имеет структуру. В отличие от обычного документа, большая часть его структуры определяется спецификацией HTML, как я обсуждал в статье Кто контролирует HTML.

Тип документа

Декларация

Каждый HTML-документ должен начинаться со специальной строки кода, объявляющей его тип документа. Объявление типа документа, также известное как doctype для краткости, показано ниже:

Как видите, тег doctype немного отличается от тех тегов, которые мы обсуждали ранее. Сразу после открытия < следует ! , за которым следует слово doctype , без пробелов между ними.

Несмотря на то, что между словом doctype и html требуется по крайней мере один пробел, как всегда, вы можете использовать столько же пробелов везде в теге. Однако, чтобы код был аккуратным и читабельным, оставьте его таким, каким он показан на рисунке выше.

Обратите внимание, что объявление doctype не имеет закрывающего тега.

Регистр любой из букв в типе документа 9Декларация 0024 тоже не имеет значения. Вы даже можете смешивать и сочетать прописные и строчные буквы. Например, все приведенные ниже объявления doctype действительны и дают один и тот же результат:

.

Если какой-либо из вышеперечисленных вариантов больше соответствует вашему эстетическому вкусу, смело используйте его. Хотя, если вы предпочитаете последний вариант, предлагаю сначала вздремнуть. Вашим глазам явно нужен отдых! 😃

Раньше это объявление выглядело довольно сложно. Конечно, не так уж много людей смогли бы напечатать их без использования копирования/вставки.

Хочешь увидеть некоторые из них? Вот парочка:

  
  

О ужас! 😱

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

Что еще было бы, если бы не HTML?

Хороший вопрос! Кажется странным объявлять HTML-документ… как HTML-документ, не так ли?!

Да, это так, потому что эта декларация действительно во многом историческая.

Когда стандарты HTML только стали популярными, в Интернете было полно страниц, не соответствующих этим стандартам. Чтобы помочь браузерам правильно отображать эти страницы, браузеры использовали объявление doctype для различения несовместимых и совместимых страниц. Несоответствующие страницы обрабатывались в так называемом режиме quirks , а совместимые страницы обрабатывались в так называемом стандартном режиме .

Это все историческое. Однако сегодня вам нужно знать, что если вы пропустите объявление HTML-страницы, это будет сигналом для браузера, что он должен рассматривать вашу страницу как страницу , не соответствующую стандарту HTML . Браузер отобразит вашу страницу в причуды режима . Как ни странно это звучит! 😁

Макет страницы будет работать не совсем правильно, и стили, которые вы применяете, будут работать немного… ну, причудливо .

Итак, итог такой:

Всегда используйте простое объявление типа документа HTML.

Элемент

HTML

Сразу после объявления doctype следует тег . Работа элемента html заключается в том, чтобы быть контейнером всех других элементов в документе HTML, и поэтому он известен как корневой элемент .

Элемент html содержит обе части документа: часть, видимую пользователю, и метаданные о документе.

Головка

Элемент

Большая часть метаданных о документе находится внутри элемента head . Термин метаданных буквально означает данные о данных . В нашем случае это данные о HTML-документе.

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

Я расскажу о значении кодировки символов в другой статье. Однако в настоящее время общепринятой практикой является использование кодировки символов utf-8 .

Подводя итог, наш HTML-код будет выглядеть примерно так:

 
 1
2
3
4
5
6
 
 

<голова>
  <мета-кодировка="utf-8">


 

Обратите внимание, что метатег является автономным тегом. нет закрывающего тега .

Название

Элемент

Раздел head нашего документа по-прежнему недействителен . Хотя объявление кодировки символов — хорошая идея, это не обязательно. Однако требует , чтобы элемент head содержал элемент title . Без присутствия элемента title страница недействительна.

Давайте добавим элемент title в:

 
 1
2
3
4
5
6
7
 
 

<голова>
  <мета-кодировка="utf-8">
  Это название... волна!


 

Корпус

Элемент

Тег является корнем всего контента, который виден пользователю . Его часто называют 9.0009 окно просмотра .

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

Давайте объединим все это в полноценную (но простую) HTML-страницу:

 
 1
2
3
4
5
6
7
8
9
10
 
 

<голова>
  <мета-кодировка="utf-8">
  Это название... волна!

<тело>
  Контент КОРОЛЬ!


 

Сохраните этот файл как simple-document.html , помня, в каком каталоге вы его сохранили.

После этого откройте браузер, например Google Chrome. Нажмите на Файл меню и выберите Открыть файл... . Перейдите в каталог, в котором вы сохранили файл simple-document. html , и выберите его, нажав кнопку Открыть . Вы должны увидеть что-то вроде следующего:

Как видите, текст, который я разместил внутри тега </code>, отображается (обведен красным) как имя вкладки браузера. Область просмотра браузера, т. е. видимая нам часть, показывает текст, который был окружен <code> Тег<body> </code>.</p><h3><span class="ez-toc-section" id="i-18"> Но действительно ли это? </span></h3><p> Давайте воспользуемся онлайн-валидатором HTML, рекомендованным WHATWG, для проверки нашего HTML-кода.</p><ol><li> Перейдите по следующей ссылке: https://html5.validator.nu/</li><li> В раскрывающемся списке <em> Адрес </em> выберите <em> Текстовое поле </em></li><li> Стереть все в текстовой области</li><li> Скопируйте и вставьте HTML-код файла <code> simple-document.html </code> в эту текстовую область, а затем щелкните значок <code> Подтвердить кнопку </code>.</li></ol><p> Как видно из скриншота ниже, валидатор сообщает, что наш HTML-код действителен:</p><p></p><h3><span class="ez-toc-section" id="i-19"> Давайте сломаем и починим </span></h3><p> Когда я обсуждал, как теги могут быть вложены друг в друга, я упомянул правило тега <em>, которое сначала закрывает то, что вы открыли последним </em> .<img class="lazy lazy-hidden" loading='lazy' src="//schtirlitz.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/image3.slideserve.com/5998561/slide5-l.jpg' /><noscript><img loading='lazy' src='/800/600/http/image3.slideserve.com/5998561/slide5-l.jpg' /></noscript></p><p> Давайте добавим несколько простых тегов в наш <code> body </code> контент, но при этом нарушим это правило ( <code> invalid-document.html </code> ):</p><pre data-lang="html"/> <table> <tbody> <tr> <td> <pre> 1 2 3 4 5 6 7 8 9 10 </pre></td><td><pre> <!doctype html> <html> <голова> <мета-кодировка="utf-8"> <title>Это название... волна! <тело>

Контент КОРОЛЬ

!

Обратите внимание, что закрывающие теги

и расположены в неправильном порядке.

Скопируйте этот код в валидатор, выполнив шаги, описанные выше, и нажмите кнопку 9.0023 Подтвердить кнопку еще раз. Вот результат:

Прочитайте эти сообщения. Ясно, что наш код смутил бы браузер.

Исправление простое: поменяйте местами закрывающие теги

и ( fixed-invalid-document.html ):

 
 1
2
3
4
5
6
7
8
9
10
 
  <голова> <мета-кодировка="utf-8">Это название.<img class="lazy lazy-hidden" loading='lazy' src="//schtirlitz.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='/800/600/http/images.myshared.ru/5/489560/slide_5.jpg' /><noscript><img loading='lazy' src='/800/600/http/images.myshared.ru/5/489560/slide_5.jpg' /></noscript></div><footer class="entry-footer"> <span class="cat-links">Категории: <a href="https://schtirlitz.ru/category/raznoe-2" rel="category tag">Разное</a></span></footer></article><nav class="navigation post-navigation" aria-label="Записи"><h2 class="screen-reader-text">Навигация по записям</h2><div class="nav-links"><div class="nav-previous"><a href="https://schtirlitz.ru/raznoe-2/fotoshop-narisovat-krug-uznajte-kak-risovat-ovalnye-i-kruglye-formy-s-pomoshhyu-instrumenta-ellips-v-photoshop.html" rel="prev"><span class="be-post-nav-label btn btn-sm cont-btn no-underl"><small class="fas fa-chevron-left mr-2"></small>Назад</span></a></div><div class="nav-next"><a href="https://schtirlitz.ru/raznoe-2/perexodyashhij-cvet-kak-nazyvaetsya-perexod-cveta-ot-temnogo-k-svetlomu.html" rel="next"><span class="be-post-nav-label btn btn-sm cont-btn no-underl">Вперед<small class="fas fa-chevron-right ml-2"></small></span></a></div></div></nav><div id="comments" class="comments-area"> <a href="#" class="btn btn-primary btn-sm be-open-comment-form">Оставить комментарий</a><div id="respond" class="comment-respond"><h3 id="reply-title" class="comment-reply-title">Добавить комментарий <small><a rel="nofollow" id="cancel-comment-reply-link" href="/raznoe-2/struktura-html-fajla-html-urok-2-struktura-html.html#respond" style="display:none;">Отменить ответ</a></small></h3><form action="https://schtirlitz.ru/wp-comments-post.php" method="post" id="commentform" class="comment-form" novalidate><p class="comment-notes"><span id="email-notes">Ваш адрес email не будет опубликован.</span> <span class="required-field-message">Обязательные поля помечены <span class="required">*</span></span></p><p class="comment-form-comment"><label for="comment">Комментарий <span class="required">*</span></label><textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" required></textarea></p><p class="comment-form-author"><label for="author">Имя <span class="required">*</span></label> <input id="author" name="author" type="text" value="" size="30" maxlength="245" autocomplete="name" required /></p><p class="comment-form-email"><label for="email">Email <span class="required">*</span></label> <input id="email" name="email" type="email" value="" size="30" maxlength="100" aria-describedby="email-notes" autocomplete="email" required /></p><p class="comment-form-url"><label for="url">Сайт</label> <input id="url" name="url" type="url" value="" size="30" maxlength="200" autocomplete="url" /></p><p class="form-submit"><input name="submit" type="submit" id="submit" class="submit" value="Отправить комментарий" /> <input type='hidden' name='comment_post_ID' value='56156' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /></p></form></div></div></main></div></div></div><footer id="colophon" class="site-footer row"><div class="site-info col-md-8"><p>© 2019 Штирлиц Сеть печатных салонов в Перми</p><p>Цифровая печать, цветное и черно-белое копирование документов, сканирование документов, ризография в Перми.</p></div><div class="col-md-4"> <a href="/sitemap.xml">Карта сайта</a></div></footer></div></div> <noscript><style>.lazyload{display:none}</style></noscript><script data-noptimize="1">window.lazySizesConfig=window.lazySizesConfig||{};window.lazySizesConfig.loadMode=1;</script><script async data-noptimize="1" src='https://schtirlitz.ru/wp-content/plugins/autoptimize/classes/external/js/lazysizes.min.js'></script> <!-- noptimize -->
<style>iframe,object{width:100%;height:480px}img{max-width:100%}</style><script>new Image().src="//counter.yadro.ru/hit?r"+escape(document.referrer)+((typeof(screen)=="undefined")?"":";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+";"+Math.random();</script>
<!-- /noptimize --></body></html>