1. ОСНОВЫ ЯЗЫКА HTML
1.1.ОСНОВНЫЕЭЛЕМЕНТЫ СИНТАКСИСА HTML
На сегодняшний день основная часть используемых web-технологий базируется на языке гипертекстовой разметки HTML (HyperText Markup Language). Изначально язык HTML был направлен на создание разметки и оформление документов, которые размещаются на web-страницах. Предшественником языка HTML являлся стандарт SGML (Standard Generalized Markup Language) – метаязык, определяющий язык разметки для документов, принятый Международной организацией по стандартизации. Описание внешней составляющей документа в данном стандарте отсутствовало. Поскольку в описаниях языка SGML отсутствовал перечень используемых структурных элементов, возникла необходимость в создании такого языка, который бы отвечал следующим требованиям:
1)наличие описаний применения тех или иных элементов в зависимости от конкретно заданных условий;
2)наличие каталога элементов, позволяющих создавать документы, которые читались бы разными программами.
Таким образом, язык SGML не получил особого развития как самостоятельный стандарт, но именно он заложил основы развития языка
HTML.
Язык HTML претерпел ряд достаточно серьезных изменений, прежде чем достичь текущего актуального состояния. HTML версии 1.2 включал
всебя около сорока тегов, при этом он был нацелен на структурную разметку текста без описания физического представления страниц. Создание версии 2.0 проводилось консорциумом W3C (World Wide Web Consortium). В 1995 году версия 2.0 была опубликована, и одновременно с этим проводились работы по развитию версии 3.0, которая базировалась на новых возможностях и стала новой ступенью развития языка.
Версия HTML 3.0 обладала рядом новшеств, таких как разметка математических формул, теги для разработки страниц, вставка обтекаемых
7
текстом рисунков и др. Вместе с этим обострялась проблема отсутствия грамотного визуального оформления web-страниц.
Расширению перечня тегов поспособствовала корпорация Netscape Communications. Цель нововведений заключалась в усовершенствовании вида страницы. Главным недостатком проделанной работы стало явное противоречие принципам самого языка HTML.
Следующей доработанной версией языка HTML являлась версия 3.2, которая достаточно длительное время считалась единственным стандартом для работы над web-проектами.
В2004 году была принята версия HTML 4.01, которая позволила реализовать как кроссплатформенность, так и кроссбраузерность.
Внастоящий момент активно используется язык HTML5 и его релизы 5.1, 5.2, 5.3. Также ведутся разработки шестой версии языка HTML, которая разительно отличается от пятой. Предполагается, что шестая версия сможет стать эффективным инструментом создания web-приложений.
Вто же время язык HTML был и остается языком логической разметки документа без какого-либо акцента на его визуализацию, что, в свою очередь, не дает возможности проектировать яркие страницы со сложным дизайном.
Язык HTML5 базируется на описании структуры HTML-страниц и правилах применения основных элементов. HTML-документ представляет собой текстовый документ, работать с которым можно в различных текстовых редакторах (Блокнот, Notepad++). Основными элементами HTML-документов являются теги. Теги дают возможность форматировать текст, а также располагать в документах объекты – звуки, анимации, изображения, ссылки, таблицы, формы для ввода данных и т. д.
Тег имеет определенную структуру, которая включает в себя:
1)имя тега;
2)список атрибутов.
Атрибуты тега предназначены для определения поведения тега. Они могут принимать некие значения, а также располагаться в любой последовательности.
8
В общем случае каждый атрибут имеет:
1)имя и следующий за ним знак равенства;
2)конкретное значение, следующее за знаком равенства.
Еще одним свойством тегов и атрибутов является отсутствие чувствительности к регистру. По типу теги можно разделить на парные и непарные. Отличие между типами тегов заключается в наличии/отсутствии закрывающих тегов. У закрывающего тега атрибуты не указываются. Сам HTML-документ, включающий в себя заголовок и тело, помещается в тег. Заголовок документа находится внутри тега и может включать как название документа, так и ряд других параметров. Тело документа содержит основной текст и набор тегов, которые выводятся в результате исполнения HTML-документа.
Существуют рекомендации по написанию кода в HTML5:
1)объявление типа документа в первой строке документа (Doctype);
2)указание наименований элементов в нижнем регистре, поскольку
втаком формате код имеет более наглядное представление;
3)указание закрывающих тегов по ходу документа;
4)заключение значений атрибутов в кавычки, поскольку такие значения становятся наиболее читаемыми;
5)указание атрибута alt при работе с изображениями, а также значений ширины и высоты изображения;
6)добавление пустых строк для разбиения кода на логические блоки;
7)использование тегов <html>, <body> и <head> (отсутствие этих тегов может привести к появлению ошибок при отладке кода);
8)задание имени страницы документа в полном соответствии с его содержимым;
9)включение элемента <meta> на страницу документа для предоставления браузеру сведений о масштабировании страницы.
Таким образом, язык HTML претерпел достаточно серьезные изменения, а версия языка HTML5 имеет весьма ослабленные правила синтакси-
9
са. Вместе с этим во избежание ошибок при проверке кода HTMLдокумента следует придерживаться выработанных рекомендаций, направленных на более наглядное отображение кода документа.
1.2.РАБОТА С БАЗОВЫМИ ТЕГАМИ В HTML
Стандарт HTML включает в себя достаточно обширный перечень тегов, каждый из которых предназначен для решения определенных задач. Теги позволяют задавать способы управления гипертекстовой информацией, а также ее визуального представления в рамках web-страницы.
Теги подразделяются на конкретные типы:
1)теги верхнего уровня – формируют структуру, тело и заголовок документа;
2)блочные теги – делят документ на смысловые блоки;
3)строчные теги – применяются для разметки частей содержимого элементов [10];
4)нестандартные теги – не поддерживаются ни одной спецификацией
HTML;
5)семантические теги – используются для толкования поисковым системам и речевым браузерам заданной информации.
Согласно другой классификации теги можно разделить по следующим категориям:
1)теги для работы со структурой самого документа;
2)теги для работы с форматированием текста;
3)теги для разработки форм;
4)теги для работы с изображениями;
5)теги для работы с аудио- и видеоконтентом;
6)теги-ссылки;
7)теги для работы с таблицами и списками;
8)теги, определяющие стили;
9)теги, используемые для написания обработок.
10
Кратко основные теги для работы со структурой документов, текстом, ссылками и другими элементами, а также их описания приведены в табл. 1.1.
|
|
Таблица 1.1 |
|
|
Базовые теги HTML и их описания |
|
|
|
№ |
Наименование |
Задача, которую решает тег |
п/п |
тега |
|
|
|
|
1 |
<!DOCTYPE> |
Указывает тип текущего документа; позволяет интерпретиро- |
|
|
вать web-страницу относительно выбранной версии HTML |
|
|
|
2 |
<a> |
Служит для создания ссылок в документе; может иметь атри- |
|
|
буты name (определение якоря внутри страницы), href (опре- |
|
|
деление места размещения ресурса) |
|
|
|
3 |
<address> |
Хранит и позволяет осуществлять сбор информации об авто- |
|
|
рах сайтов |
|
|
|
4 |
<article> |
Определяет тип наполнения на сайте (новости, статьи, блог, |
|
|
форум и т. д.) |
|
|
|
5 |
<aside> |
Отображает боковую панель, которая используется для раз- |
|
|
мещения ссылок на архив, рубрик, сносок и т. д. |
|
|
|
6 |
<b> |
Определяет начертание текста как «жирное». Может приме- |
|
|
няться с другими тегами начертания текста |
|
|
|
7 |
<blockquote> |
Позволяет выделить длинные цитаты внутри web-документа |
|
|
|
8 |
<body> |
Хранит структуру и содержание web-документов для отобра- |
|
|
жения в браузере, а также дает возможность определять цвет |
|
|
ссылок и текста страницы |
|
|
|
9 |
<br> |
Осуществляет перенос строки без добавления пустого отсту- |
|
|
па перед строкой |
|
|
|
10 |
<button> |
Позволяет создавать кнопки и использовать их расширенные |
|
|
возможности |
|
|
|
11 |
<code> |
Показывает строки текста, которые являются программным |
|
|
кодом |
|
|
|
12 |
<del> |
Дает возможность представлять текст, удаленный из нового |
|
|
варианта web-документа, посредством чего можно отследить |
|
|
внесенные изменения в текст |
|
|
|
11
|
|
Продолжение табл. 1.1 |
|
|
|
№ |
Наименование |
Задача, которую решает тег |
п/п |
тега |
|
|
|
|
13 |
<details> |
Хранит информацию, отображение которой зависит от требо- |
|
|
ваний пользователя |
|
|
|
14 |
<div> |
Позволяет выделять фрагменты документов с целью форма- |
|
|
тирования наполнения; может иметь атрибуты class (позволя- |
|
|
ет задавать разные стили, в рамках одной страницы может |
|
|
применяться несколько раз) и id (позволяет задавать разные |
|
|
стили, но в рамках одной страницы может применяться толь- |
|
|
ко один раз) |
|
|
|
15 |
<form> |
Позволяет определить форму на странице, которая дает воз- |
|
|
можность осуществлять обмен данными между клиентом |
|
|
и сервером |
|
|
|
16 |
<footer> |
Определяет зону размещения информации об авторе, дате до- |
|
|
кумента, контактной и правовой информации |
|
|
|
17 |
<h1> – <h6> |
Определяет уровень важности заголовка текста |
|
|
|
18 |
<head> |
Позволяет хранить другие элементы и метатеги, несущие |
|
|
вспомогательную для браузера функцию работы с данными |
|
|
|
19 |
<hr> |
Отображает горизонтальную линию, которая разделяет стра- |
|
|
ницу на смысловые блоки |
|
|
|
20 |
<input> |
Предназначен для создания элементов интерфейса и обеспе- |
|
|
чения коммуникации с пользователем. Позволяет создавать |
|
|
текстовые поля, кнопки, переключатели, флажки |
|
|
|
21 |
<label> |
Определяет связь между меткой (конкретным текстом) и эле- |
|
|
ментом формы |
|
|
|
22 |
<li> |
Отображает отдельный элемент маркированного списка |
|
|
|
23 |
<link> |
Служит для связи внешних документов (например, файлов) |
|
|
со стилями и шрифтами |
|
|
|
24 |
<main> |
Определяет основное наполнение документа. Наполнение, |
|
|
как правило, является уникальным |
|
|
|
25 |
<mark> |
Служит для выделения текста. Текст можно изменять с при- |
|
|
менением стилей |
|
|
|
12
|
|
Продолжение табл. 1.1 |
|
|
|
№ |
Наименование |
Задача, которую решает тег |
п/п |
тега |
|
|
|
|
26 |
<menu> |
Определяет порядок пунктов меню |
|
|
|
27 |
<meta> |
Определяет метатеги, применяемые для хранения необходи- |
|
|
мой браузерам информации |
|
|
|
28 |
<meter> |
Позволяет выводить значения в заданном диапазоне. Приме- |
|
|
няется в основном для отображения числовых значений |
|
|
|
29 |
<nav> |
Описывает навигацию сайта. В случае если страница имеет |
|
|
несколько блоков ссылок, то в тег <nav> помещаются прио- |
|
|
ритетные ссылки |
|
|
|
30 |
<noembed> |
Отображает информацию в ситуациях, когда браузер не под- |
|
|
держивает работу с плагинами |
|
|
|
31 |
<noframes> |
Предоставляет информацию о тех ситуациях, когда браузер |
|
|
не поддерживает фреймы |
|
|
|
32 |
<noscript> |
Применяется в случае, если браузер не работает со скриптами |
|
|
|
33 |
<object> |
Определяет способы загрузки и отображения объектов, кото- |
|
|
рые изначально не интерпретируются браузером |
|
|
|
34 |
<ol> |
Отображает нумерованный список |
|
|
|
35 |
<optgroup> |
Используется в качестве контейнера, включающего в себя |
|
|
пункты списка |
|
|
|
36 |
<option> |
Определяет отдельные пункты списка |
|
|
|
37 |
<output> |
Указывает область, куда осуществляется вывод информации |
|
|
|
38 |
<pre> |
Отображает блок форматированного текста |
|
|
|
39 |
<q> |
Обеспечивает выделение цитат в тексте |
|
|
|
40 |
<samp> |
Отображает текст, представляющий собой результат вывода |
|
|
программы |
|
|
|
41 |
<script> |
Позволяет описывать скрипты; скрипты могут размещаться |
|
|
во внешних файлах |
|
|
|
42 |
<sectio> |
Предназначен для определения раздела документа: блока но- |
|
|
востей, информации о контактах и др. |
|
|
|
43 |
<select> |
Дает возможность создать раскрывающийся список с един- |
|
|
ственным или множественным выбором |
|
|
|
44 |
<span> |
Определяет строчные элементы документа; позволяет рабо- |
|
|
тать со стилями документа |
|
|
|
13
|
|
Окончание табл. 1.1 |
|
|
|
№ |
Наименование |
Задача, которую решает тег |
п/п |
тега |
|
|
|
|
45 |
<source> |
Служит для добавления аудио- и видеофайлов |
|
|
|
46 |
<strong> |
Позволяет осуществлять акцентирование текста |
|
|
|
47 |
<style> |
Дает возможность осуществлять выбор стилей элементов |
|
|
web-страницы. Допустимо задавать несколько стилей |
|
|
|
48 |
<title> |
Служит для определения заголовка документа |
|
|
|
49 |
<ul> |
Позволяет оформить маркированный список. Элемент списка |
|
|
определяется тегом <li> |
|
|
|
50 |
<var> |
Определяет переменные для разрабатываемых приложений |
|
|
|
Часть тегов в HTML на текущий момент являются устаревшими. Вместо них рекомендуется использовать каскадные таблицы стилей, речь о которых пойдет в следующей главе.
Таким образом, теги в HTML являются базовыми строительными блоками для формирования web-страниц. В HTML5 теги хранятся в виде справочника, определенного в спецификации языка. Спецификация постоянно актуализируется под потребности браузеров как в части информации о самих тегах, так и в части информации об их атрибутах.
1.3.ИСПОЛЬЗОВАНИЕ ИЗОБРАЖЕНИЙ,ТАБЛИЦ,КОДИРОВОК В HTML
Важным объектом при оформлении web-страниц является изображение. Для работы с изображениями используется специальный тег <img>, который обладает свойством непарности. Благодаря данному тегу осуществляется непосредственная вставка изображений на web-страницу. Распространенные форматы изображений – это форматы .gif, .png, .jpeg (.jpg). Формат .gif позволяет сжимать изображение без потери качества, при этом имеет ограниченную цветность и допускает возможность применения анимации. Формат .jpeg сжимает изображения с некоторой потерей
14
качества, в то же время не накладывает ограничений на цвет. Размер файла в формате .jpeg напрямую зависит от качества изображения. Формат
.png имеет два альтернативных варианта: png-8 и png-24. Вариант формата png-8 позволяет лучше сжимать файлы, при этом не поддерживает анимацию. В свою очередь png-24 не имеет ограничений по количеству цветов, но имеет меньший размер самого файла [8, с. 25].
Ориентироваться в выборе формата файла в зависимости от таких параметров, как качество, размер и характеристика изображения, можно по табл. 1.2.
|
|
Таблица 1.2 |
|
|
Соотношение формат файла / параметры изображения |
||
|
|
|
|
№ |
Общая характеристика изображения |
Формат |
|
п/п |
|
файла |
|
|
|
|
|
1 |
Анимированное изображение (произвольный размер) |
.gif |
|
|
|
|
|
2 |
Небольшое изображение с ограниченной цветовой палитрой |
.gif, .png-8 |
|
|
|
|
|
3 |
Полупрозрачное изображение |
.png |
|
|
|
|
|
4 |
Фотография |
.jpeg |
|
|
|
|
|
5 |
Снимок экрана |
.png-24 |
|
|
|
|
|
При выборе формата изображений существует рекомендация не использовать, например, такой формат, как .bmp, поскольку он не поддерживается некоторыми браузерами.
У тега <img> имеется ряд атрибутов, которые задают свойства изображения при его размещении в документе:
1. Атрибут align – дает возможность определить выравнивания изображения относительно текста. Можно выделить:
top – выравнивание по верхнему краю; middle – выравнивание по центру; bottom – выравнивание по нижнему краю; left – выравнивание по левому краю; right – выравнивание по правому краю.
15
2.Атрибут alt – позволяет выделить текст, который описывает изображение для браузеров без поддержки графики [8, с. 26].
3.Атрибут border – позволяет определить толщину рамки изображений.
4.Атрибут height – дает возможность определить высоту изображения.
5.Атрибут width – дает возможность определить ширину изображения. Как правило, браузер выявляет размер изображения автоматически.
Атрибутам height и width рекомендуется задавать конкретные значения, поскольку в противном случае браузеру необходимо вычислять размеры изображения (высоту и ширину) самостоятельно.
Если возникает необходимость поместить изображение в качестве фонового, адрес фонового изображения следует указать с помощью атрибута background (тег body). В общем случае изображение, которое применяется в качестве фона, представляется в реальном размере. В случае если размер выбранного изображения меньше окна браузера, изображение будет повторяться, чтобы заполнить свободное пространство. В отдельных случаях можно представлять изображение в виде карты с областями, которые активируются по наведению курсора мыши. Для этого существует специальный тег <map>.
Еще одним часто используемым объектом в работе с web-документа- ми является таблица. Таблица в HTML – это совокупность данных, расположенных и связанных между собой при помощи ячеек, размещаемых в строках и колонках [8, c. 31]. Для того чтобы осуществлять манипуляции над таблицами, предусмотрено три основных тега, каждый из которых является парным:
1)теги <td> и </td> служат для определения стандартных ячеек таблицы;
2)теги <tr> и </tr> служат для определения строк ячеек таблицы;
3)теги <table> и </table> служат для задания границ кода таблицы. Для каждого из вышеперечисленных тегов возможно применение ат-
рибутов, представленных в табл. 1.3.
16
|
|
|
Таблица 1.3 |
|
|
Атрибуты табличных тегов |
|
|
|
|
|
№ |
Табличный |
Атрибут |
Назначение |
п/п |
тег |
|
|
|
|
|
|
1 |
<table> |
align |
Выравнивание таблицы относительно текста в стро- |
|
|
|
ке. Возможно выравнивание по правому краю (right) |
|
|
|
и полевому краю (left) |
|
|
|
|
|
|
background |
Определение фонового рисунка для таблицы |
|
|
|
|
|
|
bgcolor |
Определение цвета фона таблицы |
|
|
|
|
|
|
border |
Определение толщины границ таблицы |
|
|
|
|
|
|
bordercolor |
Определение цвета рамки таблицы |
|
|
|
|
|
|
cellpadding |
Определение величины поля вокруг наполнения |
|
|
|
ячеек |
|
|
|
|
|
|
cellspacing |
Определение размера пустого пространства между |
|
|
|
ячейками |
|
|
|
|
2 |
<tr> |
align |
Выравнивание содержимого ячеек строки. Возмож- |
|
|
|
но выравнивание по левому краю (left), по центру |
|
|
|
(center), по правому краю (right)и по ширине (justify) |
|
|
|
|
|
|
background |
Указание адреса изображения, которое будет раз- |
|
|
|
мещено в ячейках строки в качестве фона |
|
|
|
|
|
|
bgcolor |
Определение цвета фона ячеек строки |
|
|
|
|
|
|
valigh |
Выравнивание наполнения ячеек строки верти- |
|
|
|
кально |
|
|
|
|
3 |
<td> |
align |
Выравнивание наполнения самой ячейки. Возмож- |
|
|
|
но выравнивание по левому краю (left), по центру |
|
|
|
(center), по правому краю (right) |
|
|
|
|
|
|
background |
Указание адреса изображения, которое будет раз- |
|
|
|
мещено в конкретной ячейке в качестве фона |
|
|
|
|
|
|
bgcolor |
Определение цвета фона конкретной ячейки |
|
|
|
|
|
|
valigh |
Выравнивание наполнения конкретной ячейки вер- |
|
|
|
тикально |
|
|
|
|
|
|
colspan |
Объединение ячеек / растягивание ячейки на за- |
|
|
|
данное количество столбцов |
|
|
|
|
|
|
height |
Высота ячейки (задается в пикселях) |
|
|
|
|
|
|
width |
Ширина ячейки (задается в пикселях или процен- |
|
|
|
тах от ширины самой таблицы) |
|
|
|
|
17
Также язык HTML позволяет создавать вложенные таблицы, т. е. помещать в ячейку одной таблицы другую таблицу. Это позволяет упросить процесс верстки таблиц.
ВHTML можно задавать разные кодировки текста. Использование кодировок необходимо, поскольку все данные на компьютере хранятся
вудобной для него двоичной форме: в виде нулей и единиц. Кодировка текста позволяет преобразовать двоичный код в читаемый для пользователя вид. Эволюция процесса кодирования информации привела к появлению стандарта кодирования Unicode, который включил в себя символы множества существующих на текущий момент языков и знаков. Недостаток использования данного стандарта проявляется в том, что раскодированный текст имеет достаточно большой объем для хранения. В свою очередь, системы хранения данных развиваются быстро, что значительно снижает роль этого недостатка.
Указать кодировку текста для страницы HTML можно в текстовом редакторе. Для задания кодировки используется тег <meta>.
Вслучае если кодировка не будет задана, браузер сделает попытку выявить ее самостоятельно, что может привести к некорректному отображению текста web-страницы. Также существует возможность выбора кодировки конечным пользователем в настройках браузера, но данные настройки решают проблему только локально в рамках одного рабочего места.
ВHTML присутствует возможность вставки символов стандарта Unicode. Данные вставки называются подстановками. Роль подстановок заключается в допустимости применения символов, которые отсутствуют на клавиатуре или в указанной кодировке. Подстановку записывают с использованием амперсанда (&). Для оптимального поиска необходимого символа можно работать с системной утилитой «Таблица символов».
Таблицы и изображения являются главными объектами, которые могут повысить наглядность web-страниц, а также передать их суть и содер-
18
