Синтаксис HTML. Язык разметки HTML, синтаксис Полным синтаксисом языка html

указывает, в соответствии с каким стандартом HTML написана ваша Web-страница.


DOCTYPE Описание
HTML5
Для всех документов.
HTML 4.01
"http://www.w3.org/TR/html4/strict.dtd"> Строгий синтаксис HTML.
Переходный синтаксис HTML.
В HTML-документе применяются фреймы.
XHTML 1.0
Строгий синтаксис XHTML.
Переходный синтаксис XHTML.
Документ написан на XHTML и содержит фреймы.
XHTML мобильного профиля, добавляет специфические элементы для мобильных телефонов.
XHTML 1.1
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> Никакого деления на виды это определение не имеет, синтаксис один и подчиняется четким правилам.

Итак, доктайпов существует несколько (строгие и переходные, для HTML и XHTML). Какой стандарт выбрать - вот в чем вопрос.

Стандарты HTML и XHTML

HTML - стандартный язык разметки Web-документов.

В HTML 4.01 и HTML5 внешний вид страницы отделен от ее содержания. Содержание и структура (заголовки, абзацы, ссылки) задаются в HTML. Оформление (выравнивание, шрифты, цвета) задаются CSS-стилями.

Например, тег и атрибут align объявлены устаревшими.

XHTML - расширяемый язык разметки Web-документов, созданный на базе XML . Стандарт XHTML представляет собой перечень различий между HTML 4.01 и XHTML.

Требования XHTML Нельзя Нужно
Все теги должны быть закрыты.

Все теги, атрибуты и CSS-свойства должны быть набраны в нижнем регистре.
Все значения атрибутов тегов должны быть заключены в кавычки.
Должна строго выполняться иерархия: первый тег закрывается последним. ... ...
Блочный тег не может быть вложен в строчный. (После блочного элемента дальнейший вывод на странице осуществляется с новой строки. Строчный элемент перевода строки не делает.)
...
...
Булевы атрибуты записываются в развёрнутой форме.
У изображений обязательно должно быть указано описание

Достоинства языка XHTML - не строгость синтаксиса, а возможность придумывать собственные теги.

Однако, 2 июля 2009 года Консорциум Всемирной паутины (W3C) сообщил о прекращении работ над XHTML 2.0, посчитав концепцию XHTML неверной. Группа программистов переключилась на работу над стандартом HTML5. И хотя стандарт HTML5 всё ещё не утверждён, на нём уже написано множество сайтов.

Кому интересно, когда же HTML5 будет закончен, могут ознакомиться с первоисточниками:

Официальная версия стандарта HTML5 находится по адресу: www.w3.org/TR/html5/

Определимся с выбором. Сделать его несложно: использовать XHTML-стандарт не стоит, если вы не собираетесь расширять язык HTML.

На!DOCTYPE, предназначенных для документов, использующих фреймы , останавливаться не будем: позавчерашний день.

Следующий вопрос: какой выбрать синтаксис - строгий или переходный?

Строгий и переходный синтаксис HTML 4.01

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

Понять, что тут к чему, проще на примере. Сначала зададим строгий синтаксис.

Строгий синтаксис

Проверка на валидность

Проверка на валидность

красным цветом.

Соответствие HTML-кода объявленному стандарту называют валидностью , а проверку на это соответствие - валидацией .

Чтобы отслеживать ошибки верстки, установим дополнение к FireFox Html Validator .

Откроем нашу страницу в браузере FireFox, наведем мышку на знак валидатора:

Двойной щелчок на знаке валидатора даст развернутый список ошибок:


Поменяем!DOCTYPE на переходный синтаксис:

Переходный синтаксис

Проверка на валидность

Проверка на валидность

Часть текста понадобилось выделить красным цветом.

Запускаем FireFox. Ошибок нет:


Вроде все прекрасно. Может, на этом и остановиться?

Мой совет: делать валидную верстку или в соответствии со строгим синтаксисом HTML 4.01, или сразу на HTML5. HTML надо использовать по его прямому назначению, а оформление оставить CSS. Кроме того, если у сайта валидная верстка, а он неправильно отображается в каком-либо браузере, то это однозначно проблема браузера. Новые версии браузера будут лучше соответствовать стандарту и не ошибаться в интерпретации валидного кода. Если же сложная верстка реализована невалидным способом, то нет гарантий, что новые версии браузеров не рассыпят ее на кусочки.

Не соблазняйтесь лояльностью переходного синтаксиса, только строгое соответствие стандартам!

Зачем нужна валидная верстка

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

- это минус на оценке качества сайта.

Именно из-за способности поисковых систем замечать любые недочеты HТML-кода и рекомендуется соблюдать валидность верстки. Кроме того, проверяя код на валидность, можно обнаружить наряду с мелкими недочетами еще и серьезные ошибки, которые были не замечаны ранее.



HTML расшифровывается как HyperText Markup Language (язык разметки гипертекста ):

  • язык означает, что он может быть прочитан как человеком, так и компьютером;
  • разметка означает, что написанный вами код помечается с помощью ключевых слов;
  • гипертекст означает, что он использует HTTP как часть Интернета.

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

Ниже приведён пример абзаца в HTML:

Если Тетрис и научил меня чему-то, так это тому, что ошибки накапливаются, а достижения исчезают.

То, что вы видите в угловых скобках < и > называется тегами HTML. Они определяют, где что-то начинается и где оно заканчивается.

Каждый из тегов несёт определённый смысл . В нашем случае <р> обозначает абзац текста.

Как правило, они идут парами:

  • открывающий тег <р> определяет начало абзаца;
  • закрывающий тег

    определяет его конец.

Единственным различием между открывающим и закрывающим тегами является слэш /, который предшествует имени тега.

При объединении открывающего, закрывающего тегов и всего между ними, вы получите элемент HTML . Строка целиком представляет собой элемент HTML, который использует теги HTML <р> и

.

Если вы просмотрите этот пример в вашем браузере, то заметите, что теги HTML в браузере не отображаются . Они читаются только браузером, чтобы знать, какой тип контента вы написали.

Где писать HTML

Вы, вероятно, сталкивались c простыми текстовыми файлами, теми, которые имеют расширение.txt. Чтобы такой текстовый файл стал HTML-документом (вместо текстового), вам нужно использовать расширение.html.

Откройте текстовый редактор, скопируйте и вставьте следующее содержимое:

Это моя первая веб-страница!

Сохраните этот файл как my-first-webpage.html, просто откройте его вашим браузером и вы увидите:

Это моя первая веб-страница!

  • используйте текстовый редактор, вроде Notepad++, для создания HTML-документов;
  • используйте браузер, вроде Firefox, для открытия HTML-документов.

Атрибуты

Атрибуты действуют как дополнительная информация, привязанная к элементу HTML. Они пишутся внутри тега HTML. Таким образом, они также не отображаются в браузере.

Например, атрибут href используется для определения назначения ссылки (которая создаётся тегом ):

Скачать Firefox

Есть 16 атрибутов HTML , которые могут быть использованы в любом элементе HTML. Все они не являются обязательными.

Вы в основном будете применять class (который используется для CSS) и title (подсказка, которая появляется при наведении курсора на объект, вроде этого).

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

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

Комментарии

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

Комментарий начинается с .

Привет, мир!

Самозакрывающиеся элементы

Некоторые элементы HTML имеют только открывающий тег:


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

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

Пусть есть текст:

Запишем этот текст по-другому, вставив указания о том, как надо отображать текст. Указания выделим угловыми скобками.

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

«Мама мыла раму, а котик играл с клубком. Мальчик забрал у котика клубок».

Тег – команда в угловых скобках. Имя тега – первое, что пишется после открывающей угловой скобки, без пробелов перед ним! Существуют теги одиночные и теги контейнеры. Одиночные теги – некоторая команда браузеру, выполняемая в том месте, где указана, например, команда «нарисовать линию»:

Теги контейнеры состоят из открывающего тега и закрывающего, и их указание относится ко всему тексту, расположенному между ними, говорят: «вложенному в контейнер». Закрывающий тег имеет то же имя, что и открывающий, но перед именем ставится символ «слэш»: «/»:

Мама мыла раму.

.

У тега могут быть атрибуты. Атрибут дополняет и поясняет тег. Порядок атрибутов не важен. Например, у тега HR есть атрибут WIDTH, обозначающий ширину линии, SIZE – толщину линии, ALIGN – расположение (выравнивание) и COLOR – цвет. Значения атрибутов конкретизируют заданную характеристику. Синтаксическое правило звучит следующим образом: после имени тега может следовать, по крайней мере, один пробел, затем, через пробелы, могут следовать тройки: атрибут, символ «=», значение. Значение рекомендуется заключать в кавычки, хотя стандарт HTML позволяет значения, состоящие только из латинских букв и цифр, не заключать в кавычки.


Изображение на экране будет примерно следующим.

_____________________________________

Стандарт позволяет не писать закрывающий тег, если он подразумевается. Например, тег

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

Обозначает абзац.

Мама мыла раму.

Дочка играла с мячиком.

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

Теги (элементы) в HTML могут быть вложены друг в друга аналогично циклам или условным операторам в языках программирования. Пересечения тегов без вложенности запрещены.

Пример ошибочной записи:

пример блока

с вложенным абзацем

Пример правильной записи:

пример блока

С вложенным абзацем

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

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

Очень важное замечание! Цель браузера – показать клиенту вашу страницу. Обычная реакция браузера на ошибку – попытка исправить ошибку, а если не удалось, то пропустить не понятные для него слова или теги. Это и хорошо и плохо. Так как, с одной стороны, в результате браузер постарается показать пользователю максимум текста, но, с другой стороны, в этот текст может попасть часть с тегами и скриптами или не попасть собственно текст, если его браузер воспримет, например, как комментарий. Разработчику сайта такое поведение браузера очень мешает. Будьте готовы к тому, что сначала браузер будет старательно исправлять ваши ошибки, но через некоторое время он запутается, и у вас перестанут работать ранее работавшие фрагменты. Поэтому совет: не делайте ошибок, а лучше используйте современные редакторы, осведомленные о html-правилах, и указывающие вам на ошибки.

Последнее обновление: 18.11.2019

При создании документа HTML5 мы можем использовать два различных стиля: HTML и XML.

Стиль HTML предполагает следующие моменты:

    Начальные открывающие теги могут отсутствовать у элементов

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

    Только пустые элементы (void elements) (например, br , img , link) могут закрываться с помощью слеша />

    Регистр названий тегов и атрибутов не имеет значения

    Можно не заключать значения атрибутов в кавычки

    Некоторые атрибуты могут не иметь значений (checked и disabled)

    Специальные символы не экранируются

    Документ должен иметь элемент DOCTYPE

Это так называемый "разрешительный" стиль, основанный на послаблениях при создании документа.

Документ HTML5 также может быть описан с помощью синтаксиса XML. Такой стиль еще называют "XHTML". Он используется, если заголовок content-type имеет значение application/xml+xhtml . Для данного стиля характерны следующие правила:

    Каждый элемент должен иметь начальный открывающий тег

    Непустые элементы (non-void elements) с начальным открывающим тегом также должны иметь конечный закрывающий тег

    Любой элемент может закрываться с помощью слеша />

    Названия тегов и атрибутов регистрозависимы, как правило, используются в нижнем регистре

    Значения атрибутов должны быть заключены в кавычки

    Атрибуты без значений не допускаются (checked="checked" вместо просто checked)

    Специальные символы должны быть экранированы

Сравним два подхода. Подход HTML5:

Заголовок

Содержание документа HTML5

И аналогичный пример с использованием подхода XHTML:

Заголовок

Содержание документа HTML5

При использовании синтаксиса XHTML нам также надо указать пространство имен для данного документа:

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

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

Также заключение значений атрибутов в кавычки поможет избежать потенциальных ошибок. Так, атрибут class может принимать несколько значений подряд. Например: