1.1. Общие понятия HTML
1.2. Структура HTML-документа
Для создания веб-страниц часто используется язык гипертекстовой разметки HTML. Конечно, каждый сайт индивидуален, РЅРѕ существуют общие правила построения HTML-страниц. РРј обязательно нужно следовать – только РІ этом случае ваш HTML-РєРѕРґ будет верно распознаваться Рё отображаться браузером.
1.1. Общие понятия HTML
Существуют общие правила записи HTML-документов Рё принципы, используемые РїСЂРё создании сайтов. РС… РјС‹ Рё рассмотрим РІ этом разделе.
Рлемент
РћСЃРЅРѕРІРѕР№ языка HTML является элемент. РћРЅ несет РІ себе определенную информацию, может описывать документ РІ целом или СЃРїРѕСЃРѕР± форматирования текста. Рлементы можно назвать РѕСЃРЅРѕРІРѕР№ построения сайта. Р’СЃРµ, что РІС‹ захотите создать РЅР° вашей странице, будет сделано СЃ помощью элементов.
Название элемента помещается в угловые скобки, например
. Полученное выражение называется тегом. Р’ данном случае это открывающий тег. РРЅРѕРіРґР° необходимо задать парный закрывающий тег, который записывается так:
. Р’ РѕСЃРЅРѕРІРЅРѕРј парные теги используются РїСЂРё форматировании текста, РѕРЅРё задают начало Рё конец блока форматирования. РРЅРѕРіРґР° закрывающий тег вообще РЅРµ требуется, Р° РёРЅРѕРіРґР° его можно пропустить, однако для корректной обработки документа рекомендуется всегда использовать закрывающий тег.Кратко функции данных тегов можно описать так: открывающий тег включает форматирование, Р° закрывающий выключает. РџСЂРё этом основным отличием РІ записи тегов, РєСЂРѕРјРµ постановки символа / РІ закрывающем теге, является отсутствие атрибутов Сѓ последнего.
Примером необходимости использования закрывающего тега является работа с элементом P, который обозначает абзац:
<Р>Текст абзацаР>
Однако Рё РІ данном случае закрывающий тег является необязательным, РЅРѕ желательным. Рлемент IMG, который добавляет картинку РЅР° сайт, наоборот, РЅРµ требует наличия закрывающего тега. РџРѕ назначению элемента зачастую можно догадаться, требуется ли ему закрывающий тег.
Рлементы применяются для того, чтобы сказать браузеру, какой блок РІС‹ хотите видеть РІ определенном месте страницы, Р° также какую информацию этот блок должен содержать. РљСЂРѕРјРµ того, браузеру нужно сообщить, как отображать эту информацию. Для этого используют атрибуты элементов.
Атрибут
С помощью атрибутов можно указывать различные способы отображения информации, добавляемой с помощью одинаковых элементов, а в некоторых случаях применение элемента без атрибутов не дает результатов. Например, в одном абзаце нужно выровнять текст по левому краю, а в другом – по правому. Чтобы задать выравнивание абзаца, используем атрибут align элемента P:
Выравнивание по левому краю
Выравнивание по правому краю
Значения атрибутов задаются после знака равенства в кавычках и могут быть разными. Некоторым атрибутам присущ набор фиксированных значений, для других количество значений не ограничено.
Рлементы Рё РёС… атрибуты являются РѕСЃРЅРѕРІРѕР№ языка HTML, РЅРѕ для правильного отображения страницы РІ браузерах еще важно верно создать структуру документа. Для этого существуют строгие правила. Есть элементы, без которых HTML-документ РЅРµ может обойтись, потому что именно РѕРЅРё определяют его структуру.
1.2. Структура HTML-документа
Для создания структуры документа и хранения служебной информации в нем предусмотрено много элементов, которые охватывают все необходимые пункты построения документа.
РР· листинга 1.1 РІРёРґРЅРѕ, что HTML-документ содержит следующие компоненты:
• строку объявления типа документа;
• декларативный заголовок;
• тело документа.
Листинг 1.1. Описание документа в элементе DOCTYPE
"http://www.w3.org/TR/html4/loose.dtd">
...Рлементы заголовка...
...Тело документа...
Объявление типа документа
В начале каждого HTML-документа следует помещать строку объявления такого рода:
Рта строка дает браузеру общую информацию РѕР± HTML-документе. Несмотря РЅР° то что вам РІСЂСЏРґ ли придется заполнять строку иначе, рассмотрим ее РїРѕ частям Рё выясним, какую информацию Рѕ документе несут данные РёР· элемента DOCTYPE.
• HTML – показывает, что для создания документа применяется язык HTML.
• PUBLIC – указывает на то, что при создании документа использована общепринятая версия HTML.
• "-//W3C//DTD HTML 4.01 Transitional//EN" – задает публичное имя спецификации языка, применяемого для разметки документа. Если браузер по этому имени сможет распознать, где находятся правила обработки данного документа, он воспользуется ими, иначе сможет загрузить их по ссылке в следующем атрибуте. В данном случае это язык HTML версии 4.01, новейшей на момент написания книги.
• "http://www.w3.org/TR/html4/loose.dtd" – URL-адрес документа, содержащего наборы определений типа документа, подготовленного в соответствии с языком HTML 4.01.
Что такое набор правил определения типа документа (Document Type Definition, DTD), мы обсудим в конце книги, когда приступим к освоению языка XHTML. Сейчас же просто запомните, что это сведения, которые необходимы браузеру или другой программе, предназначенной для работы с данным документом HTML, для его правильной обработки. Для документов HTML 4.01 организация W3C определила три набора таких правил DTD.
• Набор строгих правил DTD, которые требуют, чтобы данный HTML-документ точно соответствовал всем требованиям спецификации HTML 4.01. Документы с этим набором правил содержат такое объявление:
• Набор переходных (transitional) правил DTD, которые допускают использование устаревших, не поддерживаемых в версии HTML 4.01 элементов и атрибутов. Документы с этим набором правил содержат такое объявление:
• Набор правил DTD для документов HTML 4.01 с фреймами. Что такое фреймы, вы уже знаете: если веб-страница выглядит в окне браузера как набор нескольких окон со своими полосами прокрутки, значит, это и есть фреймовый HTML-документ. Документы такого типа должны содержать следующее объявление:
В этом объявлении содержится общая служебная информация о данном документе HTML 4.01. Если вы пропустите его при создании HTML-документа, браузер, скорее всего, сам сможет догадаться, как ему отобразить соответствующую страницу, но организация W3C настоятельно рекомендует включать объявления DOCTYPE во все разрабатываемые документы.
Может возникнуть РІРѕРїСЂРѕСЃ: Р° зачем существуют строгие Рё переходные правила DTD Рё какие РёР· РЅРёС… следует использовать? Ответ связан СЃ историей развития Рнтернета РІ целом Рё языка HTML РІ частности. Отказ РѕС‚ устаревших средств языка Рё использование строгих DTD РјРѕРіСѓС‚ привести Рє тому, что ваш документ HTML 4.01 РЅРµ будет корректно воспроизводиться отдельными устаревшими программами, поэтому РІ настоящее время безопаснее использовать переходный набор DTD.
После того как вы ввели общую информацию о странице, нужно разобраться с ее структурой.
Рлемент HTML
Корневым элементом документа HTML 4.01 является . Рто значит, что РІСЃРµ остальные элементы содержатся внутри тегов Рё . Тем РЅРµ менее РІ документах HTML 4.01 этот элемент РЅРµ является обязательным, хотя W3C рекомендует включать его. Р’ XHTML-документах наличие HTML обязательно.
В элементе HTML могут применяться следующие атрибуты.
• lang – определяет язык документа.
• dir – задает направление чтения на языке документа (RTL – справа налево, LTR – слева направо).
• version – определяет версию стандарта HTML, использованного РїСЂРё составлении документа. Рто устаревший атрибут, Рё его применение РЅРµ рекомендовано.
• title – определяет всплывающую подсказку для страницы.
В листинге 1.2 представлен пример использования элемента HTML вместе с атрибутами, указывающими на использование русского языка и направление чтения слева направо.
Листинг 1.2. Рлемент HTML СЃ атрибутами
"http://www.w3.org/TR/html4/loose.dtd">
<–!Содержимое документа–>
На рис. 1.1 представлен результат использования атрибутов элемента HTML.
Рис. 1.1. Значение атрибута title отображено в виде экранной подсказки
Следует отметить, что атрибут dir в данном случае не обеспечен достаточной поддержкой известных браузеров даже последних версий. Например, IE 6 и Opera 9 просто выравнивают текст по правому краю, а некоторые устаревшие браузеры этот атрибут просто игнорируют. Так что, если вы намерены использовать текст с альтернативным направлением чтения (иврит, арабский язык), этот атрибут нужно применять с осторожностью.
Рлемент HEAD
После того как для документа создана РѕСЃРЅРѕРІР°, внутри нее нужно создать заглавную область. Рнформация, вводимая РІ элемент HEAD, РЅРµ отображается РІ РѕРєРЅРµ браузера, Р° помогает ему РІ обработке страницы.
В заголовке должны присутствовать как открывающий, так и закрывающий теги
Рё , между которыми располагаются РґСЂСѓРіРёРµ элементы, несущие служебную информацию Рѕ странице. Рлементы, находящиеся внутри элемента HEAD, играют очень важную роль: данные, содержащиеся РІ РЅРёС…, помогают браузеру РІ обработке страницы, Р° поисковым системам – РІ индексации документа.Для элемента HEAD определены те же атрибуты, что Рё для HTML, Р° также атрибут profil. РћРЅ позволяет задать адрес файла СЃ настройками, которые устанавливаются элементами внутри заголовка. РЎ его помощью можно будет избежать многократной записи РѕРґРЅРёС… Рё тех же элементов . Однако этот атрибут РїРѕРєР° РЅРµ введен РІ действие Рё рассчитан РЅР° будущее развитие языка HTML.
Рлементы, которые можно использовать внутри элемента HEAD, представлены РІ табл. 1.1.
Таблица 1.1. Рлементы, используемые внутри элемента HEAD
В таблице элементы описаны кратко, дальше мы рассмотрим некоторые из них подробнее. Как можно увидеть из краткого описания в табл. 1.1, они содержат данные, единые для всей страницы.
Начнем с элемента, определяющего заголовок страницы.
Рлемент TITLE
Он задает название страницы, которое будет отображаться в строке заголовка окна браузера. Согласно спецификации HTML 4.01 в содержимом элемента HEAD обязательно наличие элемента TITLE, причем в единственном числе.
Рлемент требует наличия закрывающего тега . Текст, содержащийся между открывающим Рё закрывающим тегами, Рё будет отображаться РІ строке заголовка РѕРєРЅР° браузера.
Помимо основной функции – рассказать посетителю, о чем страница, – элемент выполняет несколько косвенных задач. Некоторые поисковые системы используют текст, содержащийся в этом элементе, для поиска и выводят его в качестве заголовка результата поиска, поэтому корректно и качественно составленное заглавие может привлечь посетителей на сайт.
По тексту заголовка пользователь получает дополнительную информацию: что это за сайт и как называется текущая страница. Не стоит думать, что достаточно в документе указать логотип сайта и проигнорировать заголовок. Посетитель может сворачивать окна, и тогда заголовки будут отображаться на кнопках Панели задач – по ним можно будет легко сориентироваться, с каким сайтом работать.
Большинство браузеров поддерживают возможность сохранения веб-страницы на компьютер. В этом случае имя сохраненного файла совпадает с названием заголовка документа. Если в тексте заголовка содержатся символы, недопустимые в имени файла (\ /: *? " < > |), то они будут проигнорированы или заменены другими разрешенными символами.
РџСЂРё сохранении РІ разделе браузера Рзбранное РІ качестве названия ссылки будет использоваться текст, записанный РІ элементе TITLE. Р’ этом случае адрес текущей страницы СЃ ее заголовком помещается РІ СЃРїРёСЃРѕРє ссылок. Поскольку этот СЃРїРёСЃРѕРє, как правило, хранится РІ РІРёРґРµ отдельных файлов, Рє РёС… именам также применяется вышеописанное правило.
В листинге 1.3 показан пример использования элемента TITLE.
Листинг 1.3. Рспользование элемента TITLE
"http://www.w3.org/TR/html4/loose.dtd">
<–!Другое содержимое заголовка–>
<–!Содержимое документа–>
Название страницы нужно придумывать, логически исходя из ее содержимого.
На рис. 1.2 представлен результат работы листинга 1.3. Видно, что текст заголовка отображается в строке заголовка окна.
Рис. 1.2. Вид заголовка страницы
Мы определились с заголовком новой страницы, теперь посмотрим, какая служебная информация может содержаться внутри элемента HEAD.
Рлемент META
Рлемент META используется для хранения дополнительной информации Рѕ странице. Рту информацию браузеры применяют для обработки страницы, Р° поисковые системы – для ее индексации. Например, чтобы указать автора HTML-документа, можно использовать элемент META следующим образом:
Здесь значение атрибута name задает имя свойства Author, которому в атрибуте content присваивается имя – «Вася Пупкин». В этом и состоит общее правило применения элементов META: с их помощью вы задаете в атрибуте name имя нового свойства, которому далее в атрибуте content присваиваете значение. Вместо атрибута name можно использовать атрибут http-equiv, который служит для обмена служебной информацией браузера с веб-сервером. Например, рассмотрим такой элемент:
Он сообщает браузеру, когда будет исчерпан срок хранения в кэше данной страницы. После этого нужно будет выполнить повторный запрос сервера.
Р’ элементе HEAD может быть несколько элементов META, потому что РІ зависимости РѕС‚ используемых атрибутов РѕРЅРё РјРѕРіСѓС‚ нести разную информацию. Р’ табл. 1.2 представлены возможные значения атрибута http-equiv. Заметьте, спецификация HTML 4.01 РЅРµ определяет значения этого атрибута, поскольку РѕРЅРё устанавливаются протоколом обмена информацией СЃ веб-сервером. Рспользовать элементы META СЃ такими атрибутами рекомендуется только подготовленным специалистам.
Таблица 1.2. Возможные значения атрибута http-equiv
Рассмотрим подробнее применение описанных выше атрибутов.
В листинге 1.4 приведен пример того, как с помощью атрибута http-equiv задать свойства обработки страницы.
Листинг 1.4. Применение атрибута http-equiv
"http://www.w3.org/TR/html4/loose.dtd">
Как видно из примера, значение атрибута http-equiv указывает на переменную, значение которой определено с помощью атрибута content.
Значение content-type, использованное в примере, будет одинаковым для всех сайтов в кириллической кодировке. Рекомендуем всегда указывать его, иначе браузер может некорректно отображать текст на вашей странице.
Рспользование параметра refresh полезно, РєРѕРіРґР° страницу перенесли РІ РґСЂСѓРіРѕРµ место или РєРѕРіРґР° Сѓ нее РјРЅРѕРіРѕ адресов. Р’ таком случае вместо того чтобы создавать множество сайтов РїРѕ разным адресам, можно просто задать возможность переброски посетителя РЅР° РѕСЃРЅРѕРІРЅРѕР№ сайт. Р’ примере РёР· листинга 1.4 через 10 секунд после загрузки страницы загрузится сайт test.ru.
Совет
Не все браузеры поддерживают автоматическую пересылку. На всякий случай на странице, с которой идет переадресация, нужно оставлять текстовую ссылку на страницу переадресации.
Рассмотрим возможные значения атрибута content для каждого из представленных свойств (табл. 1.3).
Таблица 1.3. Значения атрибута content для различных значений атрибута http-equiv
Большинство значений атрибута content, которые вам могут пригодиться, представлены в таблице. Поначалу вы вообще можете ограничиться использованием свойства content-type (оно обязательно), а остальные параметры будете включать при необходимости.
Атрибут name, как Рё http-equiv, содержит служебную информацию Рѕ документе, однако РІ нем записывается информация РґСЂСѓРіРѕРіРѕ плана. Например, данные РѕР± авторе Рё содержимом документа. Рти данные РЅРµ влияют РЅР° обработку документа браузером, однако дают информацию для поисковых систем.
В табл. 1.4 представлены возможные значения атрибута name.
Таблица 1.4. Возможные значения атрибута name
Как РІРёРґРЅРѕ РёР· табл. 1.4, большинство свойств отвечает Р·Р° индексацию страницы РІ поисковиках. Рто очень важный момент, ведь РєРѕРіРґР° РІС‹ создаете сайт, то хотите сделать его посещаемым, Р° РІ этом помогает элемент META.
Параметры, задаваемые в элементе META, помогают поисковым роботам ассоциировать ваш сайт с определенной тематикой. В результате, когда человек введет в поисковике слово, установленное для вашей страницы в качестве ключевого, среди результатов отобразится ссылка на страницу.
Примечание
Роботы – это специальные программы, которые перемещаются РїРѕ Рнтернету Рё запоминают просмотренные сайты. Результаты РїРѕРёСЃРєР° заносятся РІ базы поисковых сайтов, Рё РїРѕРёСЃРє СЃ самих сайтов осуществляется РїРѕ этим базам.
У каждого поисковика свои программы-роботы и своя логика поиска и хранения данных в базах, поэтому часто одинаковые запросы в разных поисковых системах дают различные результаты.
В листинге 1.5 приведен пример использования параметров элемента META для управления индексацией страницы.
Листинг 1.5. Параметры элемента META для индексации в поисковиках
"http://www.w3.org/TR/html4/loose.dtd">
В примере из листинга 1.5 задано много свойств метаданных. Рассмотрим подробнее их действие.
Параметр author задает имя автора. Если владельцем сайта является компания, то вместо author используется параметр copyright, а в качестве значения атрибута content нужно задать имя компании. Можно указать язык, на котором записано значение параметра content. Для этого используется атрибут lang.
Свойство description задает описание документа. Текст, заданный для этого параметра, будет выводиться в качестве описания вашей страницы, отображаемого поисковиком в результатах поиска. Понятно, что этот параметр надо задавать очень аккуратно, потому что именно по этой фразе пользователь будет решать, имеет ли смысл посещение вашей страницы.
Значение dynamic свойства document-state сообщает роботам, что страницу надо будет индексировать при следующем проходе, потому что ее содержимое может поменяться.
Дальше два раза задаются ключевые слова свойства keywords: первый раз на русском языке, второй – на английском. При этом язык, на котором написаны ключевые слова, задается с помощью атрибута lang.
Рффективность сайта напрямую зависит РѕС‚ того, насколько адекватно РѕРЅ отображается РІ поисковых системах, Р° это РІРѕ РјРЅРѕРіРѕРј определяется хорошо подобранными ключевыми словами.
Р’ качестве ключевых нужно использовать слова, имеющие РїСЂСЏРјРѕРµ отношение Рє тексту, расположенному РЅР° странице. Рто значит, что для каждой страницы вашего сайта надо составлять СЃРІРѕР№ СЃРїРёСЃРѕРє ключевых слов так, чтобы РѕРЅРё наилучшим образом отражали ее содержимое.
Не стоит повторять ключевые слова по нескольку раз. Если используете словосочетания, не применяйте в них союзы и предлоги, так как они не несут полезной смысловой нагрузки, а только занимают место. Обычно поисковые роботы распознают первые 200–250 символов, определенных в параметре keyword. Порядок слов зависит от их важности, наиболее важные слова следует располагать в начале списка.
При подборе ключевых слов постарайтесь предположить, какие сочетания и слова будет использовать пользователь при поиске страницы вашей тематики, и используйте в ключевых словах именно их. Для разных страниц сайта, даже если их тематика одинакова, старайтесь использовать разные сочетания ключевых слов, тогда шанс, что пользователь найдет именно ваш сайт, повысится.
Однако помните, что сейчас поисковые системы ведут поиск не только по ключевым словам – зачастую роботы просматривают всю страницу, чтобы определить ее тематику. Старайтесь создавать страницы, в которых ключевые слова соответствуют содержанию, тогда у вас будет шанс оказаться в первых рядах при поиске.
Параметр resource-type сообщает поисковому роботу тип страницы и применяется для больших сайтов, где много страниц различного назначения. Страница индексируется, только если в качестве значения resource-type задано document.
Рассмотрим параметр revisit. РћРЅ РіРѕРІРѕСЂРёС‚, что поисковый СЂРѕР±РѕС‚ должен вернуться для переиндексации сайта через РґРІР° РґРЅСЏ. Ртот параметр надо задавать, если РІС‹ регулярно обновляете содержимое страниц, что поспособствует хранению РІ поисковых системах актуальной информации Рѕ вашем сайте.
Параметр robots дает роботам некоторые управляющие команды. В случае из примера он указывает на то, что текущую страницу индексировать не надо, однако нужно пройти по ссылкам на странице и проиндексировать остальную часть сайта.
В табл. 1.5 представлены команды, которые можно использовать для управления роботами.
Таблица 1.5. Значения атрибута content для свойства robots
Встретив строку URL, робот прекратит индексацию текущей страницы и перейдет на страницу с адресом test.ru.
РР· всего, что рассмотрено выше, становится понятна важность элемента META, РѕРЅ отвечает Р·Р° РјРЅРѕРіРёРµ параметры страницы. Далеко РЅРµ РІСЃРµ его возможности Р±СѓРґСѓС‚ необходимы постоянно, однако всегда нужно помнить Рѕ том, что РІС‹ можете сделать СЃ его помощью.
Вы должны знать, что без возможностей элемента META для раскрутки сайта в поисковых системах не обойтись, но они не спасут, если сайт не будет соответствовать ожиданиям посетителей. Поэтому пользуйтесь ими в качестве дополнения к качественно сделанному сайту.
Рлемент STYLE
Внутри этого элемента задаются стили, используемые РЅР° странице. Таких элементов внутри заголовка страницы может быть несколько. Рлемент STYLE поддерживает знакомые вам атрибуты lang Рё title, Р° также новые атрибуты type Рё media. Атрибут type указывает, какой язык задания стилей применяется РІ данном документе, Р° атрибут media определяет, РЅР° каком устройстве предполагается воспроизводить данный HTML-документ.
Для задания стилей в документе HTML 4.01 применяется язык CSS, который мы будем подробно рассматривать в гл. 7. Здесь же мы немного познакомим вас с возможностями этого языка, чтобы вы поняли их достоинства. Они настолько велики, что консорциум W3C отказался от использования атрибутов форматирования содержимого HTML-документов в элементах, применяемых для разметки текста, например задающих шрифт, его начертание и прочие характеристики. Все эти методы признаны устаревшими, на их смену пришли средства CSS.
Каскадные таблицы стилей (CSS) используют, чтобы максимально отделить HTML-РєРѕРґ страницы РѕС‚ ее оформления. Рными словами, внутри таблицы описано оформление различных элементов, Р° РІ HTML-РєРѕРґРµ – только применяемый стиль. Рто очень удобный метод – РІС‹ можете менять оформление страницы, цвет фона, шрифт, РЅРµ перебирая РѕРіСЂРѕРјРЅРѕРµ количество команд HTML-РєРѕРґР°, Р° просто заменив его РІ таблице стилей.
Рлемент STYLE позволяет реализовать возможности CSS РІ документе без применения внешних источников. Внутри этого элемента можно записывать РєРѕРґ форматирования содержимого странички РІ формате CSS. Чтобы браузер знал формат РєРѕРґР°, атрибуту type элемента STYLE присваивается значение text/css, сообщающее браузеру Рѕ применении средств CSS. Р’РѕС‚ пример задания CSS-стиля:
Текст со стилем style
Текст со стилем style2
Для ячейки применен стиль style2
|