Базовая структура HTML страницы. Стандарты HTML или что такое!DOCTYPE

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


DOCTYPE Описание
HTML5
Для всех документов.
HTML 4.01
Строгий синтаксис HTML.
Переходный синтаксис HTML.
В HTML-документе применяются фреймы.
XHTML 1.0
Строгий синтаксис XHTML.
Переходный синтаксис XHTML.
Документ написан на XHTML и содержит фреймы.
XHTML мобильного профиля, добавляет специфические элементы для мобильных телефонов.
XHTML 1.1
Никакого деления на виды это определение не имеет, синтаксис один и подчиняется четким правилам.

Итак, доктайпов существует несколько (строгие и переходные, для 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 это лингва-франка сети Интернет. Это простой и универсальный язык разметки, который позволяет интернет-издателям создавать сложные страницы с текстом и изображениями, которые доступны кому угодно в сети, независимо от их вида компьютера или используемого ими браузера.

Не смотря на то, что вы могли слышать, вам не нужно никакого специального ПО для создания HTML страницы; все, что вам нужно это текстовый процессор (такой как SimpleText, BBEdit, или Microsoft Word) и рабочие знания HTML. И к счастью для нас всех, базовый HTML предельно прост.

Все дело в тэгах

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

Тэгами HTML обычно являются английские слова (такие как blockquote - выделить цитатой) или сокращения (например "p" значит paragraph - абзац), но они отличаются от обычного текста, так как они помещены в маленькие угловые скобки. Таким образом, тэг абзаца это

А выделения цитатой это .

Некоторые тэги определяют, как будет форматирована страница (например,

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

Первое, что нужно помнить про тэги это то, что они всегда ходят парой. Каждый раз когда вы используете тэг, скажем - вы также должны закрыть его другим тэгом - в данном случае - . Обратите внимание на слэш - / - перед словом "blockquote"; таким образом отличают открывающий тэг от закрывающего.

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

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

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

Итак, давайте попробуем создать простую страничку для примера. Первым шагом, конечно, будет создание нового текстового документа (помните, что он должен быть сохранен в формате "Text Only" или "Plain Text", если вы используете текстовый редактор сложнее, чем, скажем, SimpleText) и назовите его "anything.html", где "anything" - любое слово

Ваш стандартный документ должен выглядеть примерно так:

Summer Summer Vacation

My summer vacation was sunny, silly, and far too short.

How many days till Christmas?

Итак, внутри тэгов у нас заголовок "Summer", который появится на верхней панели окна вашего браузера.

И как вы уже наверно догадались, это тэг для заголовка шапки (самого большого заголовка), а

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

.

Вроде бы просто, а? Так оно и есть.

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

Зачастую веб-разработчики даже не подозревают о существовании определенных стандартов кодирования в HTML. Однако в период с 2000 по 2010 годы многие веб-разработчики перешли с HTML на XHTML. При этом XHTML вынудил разработчиков писать валидный и "хорошо сформированный" код. HTML5 же, когда дело доходит до валидации кода, допускает некоторую небрежность.

Тем не менее, единообразие по стилю облегчит другим понимание вашего HTML кода.

Возможно, когда-нибудь программам, вроде программ чтения XML данных, потребуется прочитать ваш HTML код. Таким образом, использование хорошо сформированного, близкого к XHTML синтаксиса будет вполне разумным подходом.

Всегда следите, чтобы ваш код был аккуратным, чистым и хорошо сформированным.

Используйте корректный тип документа

На первой строке всегда декларируйте тип документа:

Если вы хотите соблюдать последовательность с написанием тегов в нижнем регистре, то вы можете использовать следующее определение типа документа:

Имена элементов пишите маленькими буквами

HTML5 допускает одновременное использование в именах элементов больших и маленьких букв. Однако, лучше всегда использовать только маленькие буквы. Это объясняется следующими соображениями:

  • Смешение больших и маленьких букв в именах тегов считается плохой практикой

Это параграф текста.

Очень плохо:

Это параграф текста.

Это параграф текста.

Закрывайте все HTML элементы

В HTML5 вы не обязаны закрывать все элементы (например, элемент

Это параграф текста.

Это параграф текста.

Это параграф текста.

Это параграф текста.

Закрывайте пустые HTML элементы

В HTML5 закрывать или нет пустые элементы зависит от желания веб-разработчика.

Допустимо:

Также допустимо:

Тем не менее, закрывающая косая черта (/) ОБЯЗАТЕЛЬНА в XHTML и XML.

Если ожидается, что к вашей веб-странице будут обращаться XML приложения, то в пустых HTML элементах лучше использовать закрывающую косую черту!

В именах атрибутов используйте маленькие буквы

В HTML5 при написании имен атрибутов можно смешивать большие и маленькие буквы.

  • Смешение больших и маленьких букв в именах атрибутов считается плохой практикой
  • Разработчики обычно используют маленькие буквы (как в XHTML)
  • Написание в нижнем регистре выглядит чище
  • В нижнем регистре легче писать

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

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

  • Смешение больших и маленьких букв в значениях считается плохой практикой
  • Значения в кавычках легче читать
  • Вы ДОЛЖНЫ заключать в кавычки, если в значениях есть пробелы

Очень плохо:

Это не будет работать, потому что в значении есть пробелы

Атрибуты изображений

При определении изображений всегда используйте атрибут "alt". Этот атрибут важен, когда изображение по какой-то причине не отображается.

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

Пробелы и знак равно

HTML5 допускает пробелы вокруг знака равно. Однако, когда пробелов нет, то такой код легче читать, и это лучше группирует сущности.

Избегайте длинных строк кода

При использовании HTML редактора, неудобно читать HTML код, если приходится прокручивать окно влево или вправо.

Следует стараться, чтобы строка кода в длину не превышала 80 символов.

Пустые строки и отступы

Не следует без веских причин добавлять пустые строки.

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

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

Не используйте ненужные пустые строки и отступы. Нет необходимости ставить отступ перед каждым элементом.

Необязательно:

Famous Cities Tokyo

Tokyo is the capital of Japan, the center of the Greater Tokyo Area, and the most populous metropolitan area in the world. It is the seat of the Japanese government and the Imperial Palace, and the home of the Japanese Imperial Family.

Famous Cities Tokyo

Tokyo is the capital of Japan, the center of the Greater Tokyo Area, and the most populous metropolitan area in the world. It is the seat of the Japanese government and the Imperial Palace, and the home of the Japanese Imperial Family.

Name Description
A Description of A
B Description of B

  • London
  • Paris
  • Tokyo
  • Пропускать или нет и ?

    По стандарту HTML5 тег и тег могут не использоваться.

    Следующий код согласно стандарту HTML5 считается валидным:

    Заголовок страницы Это текстовый заголовок

    Это абзац текста.

    Элемент - это корень документа. Это рекомендованное место для определения языка страницы:

    Декларация языка страницы важна как для специализированных приложений (например, программ чтения с экрана), так и для поисковых систем.

    Кроме этого, если не написать тег или тег , то это может сломать структуру DOM и XML приложения. А пропуск тега к тому же может привести к ошибками в старых браузерах (IE9).

    Пропускать ли тег ?

    Согласно стандарту HTML5 тег может не использоваться.

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

    Вы можете снизить сложность структуры HTML, пропустив тег :

    Заголовок страницы Текстовый заголовок

    Это текстовый абзац.

    Метаданные

    Элемент является обязательным в HTML5. Заголовок страницы должен быть наполнен значением:

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

    Стандарты синтаксиса и кодирования в HTML5

    Установка вьюпорта (окна просмотра)

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

    В HTML5 был введен метод, позволяющий веб-дизайнерам контролировать вьюпорт при помощи тега .

    Следует всегда использовать элемент управления вьюпортом в следующей форме на всех веб-страницах:

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

    Часть width=device-width устанавливает ширину страницы в соответствии с шириной экрана текущего устройства (которая будет разной в зависимости от используемого устройства).

    Часть initial-scale=1.0 устанавливает начальный уровень увеличения, когда страница впервые загружается браузером.

    Ниже вы можете увидеть пример веб-страницы на экране смартфона с установленным мета тегом вьюпорта и без него:

    Страница с мета тегом вьюпорта

    HTML комментарии

    Короткий комментарий должен писаться на одной строке:

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

    Пример 1. Исходный код веб-страницы

    Пример веб-страницы Заголовок

    Первый абзац.

    Второй абзац.

    Скопируйте содержимое данного примера и сохраните его в папке c:\www\ под именем example2.html. После этого запустите браузер и откройте файл через пункт меню Файл > Открыть файл (Ctrl+O). В диалоговом окне выбора документа укажите файл example2.html. В браузере откроется веб-страница, показанная на рис. 1.

    Рис. 1. Результат примера в браузере

    Элемент (жарг. доктайп) предназначен для указания типа текущего документа - DTD (document type definition, описание типа документа). Это необходимо, чтобы браузер понимал, как следует интерпретировать текущую веб-страницу, ведь HTML существует в нескольких версиях - современный HTML5 или устаревшие HTML4 и XHTML. Чтобы браузер «не путался» и понимал, согласно какому стандарту отображать веб-страницу и необходимо в первой строке кода задавать .

    Поскольку мы в дальнейшем будем работать только с HTML5, то нам потребуется только один короткий и современный доктайп.

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

    Открывающий тег определяет начало HTML-документа, внутри него хранится «голова» ( ) и «тело» документа ( ).

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

    Элемент является универсальным и добавляет целый класс возможностей, в частности, с помощью метатега, как обобщённо называют этот элемент, можно изменить кодировку страницы, добавить ключевые слова, описание документа и многое другое, предназначенное для браузера или поисковых систем. В частности, чтобы браузер понимал, что имеет дело с кодировкой UTF-8 (Unicode transformation format, формат преобразования Юникод) и добавляется данная строка.

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

    Элемент определяет название веб-страницы. В браузере оно отображается на текущей вкладке (рис. 2).

    Рис. 2. Название веб-страниц в браузере

    Элемент является обязательным и должен непременно присутствовать в коде документа. Внутри разрешается писать только текст и никаких других элементов в быть не должно. Но допустимо добавлять разные текстовые символы, например, так: Adobe™ Photoshop® .

    Закрывающий тег показывает, что «голова» документа завершена.

    «Тело» документа предназначено для размещения элементов и содержимого веб-страницы.

    Заголовок

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

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