ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.12.2019

Просмотров: 612

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

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

HTML — теговый язык разметки 

документов

. Любой документ на языке HTML представляет 

собой набор 

элементов

, причѐм начало и конец каждого элемента обозначается 

специальными пометками — 

тегами

 

Тег

 (иногда 

тэг

[1]

англ.

 

tag

, читается 

/tæg/

) в 

SGML

 (в 

HTML

WML

AmigaGuide

языках семейства 

XML

) — элемент языка разметки гипертекста. Более правильное 

название — 

дескриптор

.

[2][3][4][5]

 Например, текст Википедии, заключенный между 

начальным тегом <small>и конечным тегом </small> (от 

англ.

 

small маленький

) предписывает 

отображать его меньше основного текста.Например:

Это маленький текст

.

А это 

большой.

(<big>—</big>). 

В 

XML

 тег является элементом документа, а текст, содержащийся между начальным и 

конечным тегом — содержанием элемента. 

Синтаксис тегов 

Используют либо только два тега — 

открывающий

, или 

начальный

, и 

закрывающий

, или 

конечный

, или еще дополнительно в зависимости от реализации языка возможно применение 

одиночного тега

 и 

тега пустого элемента

. Например, тег отступа абзаца может оформлять 

абзац между <p> </p>, а может в одиночной форме до следующего первого попавшегося <p> 

Пример пустого элемента: <HR></HR> - разрыв текста без сохранения отступов, но вы 
можете использовать специальную форму записи тега, используя меньшее число символов: 
<HR/> 

Набор и рекомендуемые интерпретации тегов определены организацией 

W3C

. 

В 

SGML

 можно назначать другие символы для обрамления тега (например, фигурные 

скобки), но в некоторых подмножествах этого языка (например, 

HTML

) и 

XML

 такая 

возможность отсутствует. 

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

BBCode

, теги которого ограничиваются символами квадратных скобок: [ ]. 

Например, [url="http://ru.wikipedia.org"]Русская Википедия[/url] — ссылка на языке 

BBCode

указывающая на страницу русской Википедии. 

Атрибуты 

У тега могут быть свойства, называемые 

атрибутами

, дающие дополнительные 

возможности форматирования текста. Они записываются в виде пары имя-значение, причем 
нечисловое значение заключается в кавычки. 
Например, можно выделить фрагмент текста определенным шрифтом (тег <font>), указав в 
этом теге название шрифта и желаемый размер: <font face="Times, Arial, Courier" size=4> 

оформляемый текст

 </font> 


background image

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

Имя тега определяет 

тип

 элемента. В HTML имя тега определяет лишь правила разметки, 

так, имя тега «i» (например 

<i>Курсивный текст</i>

) определяет, что между тегами 

расположен текст, который следует отображать в браузере в 

курсивном

 начертании. XML 

представляет собой более гибкий стандарт. Имена тегов в нем не регламентируются жестко: 
пользователи могут вводить и использовать для своих нужд новые теги (см

XML

). 

Например, мы сами для себя можем определить, что элементом с именем тега «person» мы 
определяем 

тип

 этого XML элемента, как фамилия имя и отчество. И скажем, год рождения, 

как часть информации по данному человеку: 

 

XML

: <person>Иванов Иван Иванович <year>1984</year></person> Можно даже 

задать дополнительно в таблицах 

CSS

, что все теги 

<person>

 будут определенного 

цвета. 

 

HTML

<div name="person"> Иванов Иван Иванович, 1984 </div> Тут уже нет 

возможности сформировать элемент документа для анализа текста, но оформить 
можно. 

Таким образом, HTML представляет собой неструктурированный текст, а XML — документ 
с иерархической структурой, что дает возможность обработки документа: трансформацию 
данных, поиск нужных элементов документа и т. д. 

Структура элемента 

В 

SGML

 и основанных на нем языках (

HTML

 версий 2—4.01, языки семейства 

XML

 и т.д.) 

элементы должны быть строго вложенными друг в друга, «перехлест» элементов 
недопустим

[6]

: 

 

неправильно: 

<a><b></a></b>

 

 

правильно : <person><i>

Имя Фамилия

</i></person> 

Распространенное заблуждение, что SGML и HTML разрешают «перехлест» элементов, 
основанно на нарушающем стандарты

[7]

 поведении старых версий 

браузеров

, пытавшихся 

«исправлять» ошибки разметки по собственным алгоритмам. 

Однако SGML (и HTML) допускают применение ряда сокращенных синтаксических 
конструкций, в том числе необязательные (опциональные) закрывающие и даже 
открывающие теги (автоматически достраиваемые при разборе документа на основе 
указанной схемы документа и текущего контекста). В XML, напротив, все теги должны быть 
открыты и закрыты явным образом, что значительно упрощает алгоритм его разбора и 
снижает требования к аппаратному обеспечению для него. 

Примечания 

1.

 

 Написание через 

е

 (а не 

э

) регламентировано орфографическим словарем, см. 

[1]

.

 

 

Элементы могут быть 

пустыми

, то есть не содержащими никакого текста и других данных 

(например, тег перевода строки 

<br>

). В этом случае обычно не указывается закрывающий 


background image

тег. Кроме того, элементы могут иметь 

атрибуты

, определяющие какие-либо их свойства 

(например, размер шрифта для элемента 

font

). Атрибуты указываются в открывающем теге. 

Вот примеры фрагментов HTML-документа: 

 

<strong>Текст между двумя тегами — открывающим и закрывающим.</strong>

 

 

<a href="http://www.example.com">Здесь элемент содержит атрибут href.</a>

 

 

А вот пример пустого элемента: <br>

 

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

<b> 
  Этот текст будет полужирным, 
  <i>а этот - ещѐ и курсивным</i> 
</b> 

даст такой результат: 

Этот текст будет полужирным, 

а этот — ещё и курсивным

 

Кроме элементов, в HTML-документах есть и 

сущности

 (

англ.

 

entities)

 — 

«специальные 

символы»

. Сущности начинаются с символа 

амперсанда

 и имеют вид 

&

имя

;

 или 

&#

NNNN

;

, где 

NNNN

 — код символа в 

Юникоде

 в десятичной системе счисления. 

Например, 

©

 — знак 

авторского права

 (©). Как правило, сущности используются для 

представления символов, отсутствующих в кодировке документа, или же для представления 
«специальных» символов: 

&amp;

 — амперсанда (&), 

&lt;

 — символа «меньше» (<) и 

&gt;

 — 

символа «больше» (>), которые некорректно записывать «обычным» образом, из-за их 
особого значения в HTML. 

Подробнее по этой теме см.: 

Элементы HTML

.

 

Подробнее по этой теме см.: 

Википедия:Специальные символы

.

 

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

<!DOCTYPE…>

, которая обычно выглядит 

примерно так: 

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
     "http://www.w3.org/TR/html4/strict.dtd"> 

Если эта строка не указана, то добиться корректного отображения документа в браузере 
становится труднее. 

Далее обозначается начало и конец документа тегами 

<html>

 и 

</html>

 соответственно. 

Внутри этих тегов должны находиться теги заголовка (

<head></head>

) и тела 

(

<body></body>

) документа. 

Варианты DOCTYPE для HTML 4.01 

 

Строгий (

Strict

): не содержит элементов, помеченных как «устаревшие» или «не 

одобряемые» (

deprecated

). 


background image

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
     "http://www.w3.org/TR/html4/strict.dtd"> 

 

Переходный (

Transitional

): содержит устаревшие теги в целях совместимости и 

упрощения перехода со старых версий HTML. 

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
     "http://www.w3.org/TR/html4/loose.dtd"> 

 

С 

фреймами

 (

Frameset

): аналогичен переходному, но содержит также теги для 

создания наборов фреймов. 

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
     "http://www.w3.org/TR/html4/frameset.dtd"> 

Варианты DOCTYPE для HTML 5 

В 

HTML 5

 используется только один вариант DOCTYPE: 

 <!DOCTYPE HTML> 

Браузерные войны 

Основная статья

Война браузеров

 

В середине 

1990-х годов

 основные производители браузеров — компании 

Netscape

 и 

Microsoft

 — начали внедрять собственные наборы элементов в HTML-разметку. Создалась 

путаница из различных конструкций для работы во Всемирной паутине, доступных для 
просмотра то в одном, то в другом браузере. Особенно большие трудности были при 
создании 

кросс-браузерных

 программ на языке 

JavaScript

Веб-мастерам

 приходилось 

создавать несколько вариантов страниц или прибегать к другим ухищрениям. На какое-то 
время проблема потеряла актуальность по двум причинам: 

 

Из-за вытеснения браузером 

Internet Explorer

 всех остальных браузеров. 

Соответственно, проблема веб-мастеров становилась проблемой пользователей 
альтернативных браузеров. 

 

Благодаря усилиям производителей других браузеров, которые либо следовали 
стандартам 

W3C

 (как 

Mozilla

 и 

Opera

), либо пытались создать максимальную 

совместимость с Internet Explorer. 

На современном этапе можно констатировать рост популярности браузеров, следующих 
рекомендациям W3C (это 

Mozilla Firefox

 и другие браузеры на движке 

Gecko

Safari

Google 

Chrome

 и другие браузеры на движке 

WebKit

Opera

 с движком 

Presto

). Доля Internet Explorer 

на данный момент составляет менее 50 %. 

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

jQuery

sIFR

 и др. 

 
 
 
 


background image

Элемент HTML

 — это основная структурная единица 

веб-страницы

, написанная на языке 

HTML

 

 

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

HTML

 — это 

теговый

 

язык разметки

 документов, то есть любой документ на языке HTML 

представляет собой набор элементов, причем начало и конец каждого элемента обозначается 
специальными пометками, называемыми 

тегами

. Регистр, в котором набрано имя тега, в 

HTML значения не имеет. Элементы могут быть 

пустыми

, то есть не содержащими никакого 

текста и других данных (например, тег перевода строки 

<br>

). В этом случае обычно не 

указывается закрывающий тег. Кроме того, элементы могут иметь 

атрибуты

, определяющие 

какие-либо их свойства (например, размер шрифта для тега 

<font>

). Атрибуты указываются 

в открывающем теге. Вот пример части разметки HTML-документа: 

<p>Текст между двумя тегами - открывающим и закрывающим.</p> 
 <a href="http://www.example.com">Здесь элемент содержит атрибут href.</a> 
А вот пример пустого элемента: <br> 

Каждый HTML-документ, отвечающий спецификации HTML какой-либо версии, обязан 
начинаться со строки декларации версии HTML <!DOCTYPE>, которая обычно выглядит 
примерно так: 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd"> 

Если эта строка не указана, то добиться корректного отображения документа в 

браузере

 

становится труднее. 

Далее обозначается начало и конец документа тегами <html> и </html> соответственно. 
Внутри этих тегов должны находиться теги заголовка (<head></head>) и тела 
(<body></body>) документа. 

Варианты DOCTYPE для HTML 4.01 

 

Строгий (Strict): не содержит тегов, помеченных как «устаревшие» или «не 
одобряемые» (deprecated). 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd"> 

 

Переходный (Transitional): содержит устаревшие теги в целях совместимости и 
упрощения перехода со старых версий HTML. 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 

 

С 

фреймами

 (Frameset): аналогичен переходному, но содержит также теги для 

создания наборов фреймов.