Самоучитель HTML
Что такое HTML?
правитьТермин HTML (HyperText Markup Language) означает «язык разметки гипертекста». Первую версию HTML разработал сотрудник Европейской лаборатории физики элементарных частиц Тим Бернерс-Ли.
Со времени создания первой версии HTML претерпел некоторые изменения. Как и многое другое в компьютерном мире, версии, или спецификации, HTML оказались пронумерованными. Известны спецификации 2.0, 3.2, 4.0 и 4.01. Текущую спецификацию HTML всегда можно найти на сервере W3C [1].
Всё, о чём написано в Самоучителе HTML, будет гарантированно работать с программным обеспечением, поддерживающим любую известную на сегодня спецификацию HTML. Естественно, для этого пришлось опустить некоторые детали, которые описаны не во всех спецификациях или описаны в разных спецификациях по-разному. Однако могу Вас уверить, что Ваши документы будут полностью работоспособными и вполне приличными по внешнему виду.
Что Вам понадобится для освоения HTML?
правитьДля освоения HTML по этому Самоучителю Вам понадобятся две вещи:
- Любой браузер, то есть, программа, пригодная для просмотра HTML-файлов.
- Любой редактор текстовых файлов, поддерживающий русский язык в выбранной Вами кодировке. Если на Вашем компьютере установлен Windows, вполне подойдет Notepad.
Мы будем использовать текстовый редактор для подготовки HTML-файлов, а браузер — как инструмент контроля за сделанным.
Свои первые HTML-файлы Вы будете разрабатывать у себя на локальном диске. Другими словами, компьютер, на котором Вы будете заниматься, может и не иметь подключения к Интернет. При этом один и тот же *.html-файл может быть одновременно открыт и в Notepad, и в Netscape Navigator. Сохранив изменения в Notepad, просто нажмите кнопку Reload («перезагрузить») в браузере, чтобы увидеть эти изменения реализованными в HTML-документе.
Необходимое отступление о редакторах HTML
правитьВ настоящее время широко используются два типа редакторов HTML:
- Редакторы типа «что видишь, то и получишь» (Namo WebEditor 2006, Microsoft Front Page). Пользователь не видит «внутренностей» документа, с которым он работает, точно так же, как при работе с текстовым процессором типа Microsoft Word или Word Perfect. Кстати говоря, существует довольно много конвертеров, способных преобразовывать документы, созданные в Microsoft Word или Word Perfect, в HTML-документы.
- Редакторы собственно HTML-текстов (HotDog, Ken Nesbitt Web Editor и многие другие). В процессе работы пользователь видит внутреннее содержание HTML-файла и может изменять его либо вручную, либо вызывая команды меню для вставки определенных элементов HTML. Работа с таким редактором очень похожа на работу с интерактивной средой программирования типа Microsoft Visual Basic или Borland Delphi.
Теги HTML-документа
правитьКак устроен HTML-документ
правитьHTML-документ — это просто текстовый файл с расширением *.html (Unix-системы могут содержать файлы с расширением *.htmll). Вот самый простой HTML-документ:
<html>
<head>
<title>
Пример 1
</title>
</head>
<body>
<H1>
Привет!
</H1>
<P>
Это простейший пример HTML-документа.
</P>
<P>
Этот *.html-файл может быть
одновременно открыт и в Notepad, и в браузере.
Сохранив изменения в Notepad, просто нажмите
кнопку Reload ('перезагрузить') в браузере,
чтобы увидеть эти изменения реализованными
в HTML-документе.
</P>
</body>
</html>
Попробуйте написать этот документ в программе Блокнот и просмотреть в браузере.
Для удобства чтения я ввел дополнительные отступы, однако в HTML это совсем не обязательно. Более того, браузеры просто игнорируют символы конца строки и множественные пробелы в HTML-файлах. Поэтому наш пример вполне мог бы выглядеть и вот так:
<html>
<head>
<title>Пример 1</title>
</head>
<body>
<H1>Привет!</H1>
<P>Это простейший пример HTML-документа.</P>
<P>Этот *.html-файл может быть одновременно открыт
и в Notepad, и в браузере.
Сохранив изменения в Notepad, просто нажмите кнопку
Reload ('перезагрузить') в браузере, чтобы увидеть
эти изменения реализованными в HTML-документе.</P>
</body>
</html>
Как видно из примера, вся информация о форматировании документа сосредоточена в его фрагментах, заключенных между знаками «<» и «>». Такой фрагмент (например, <html>) называется тегом (по-английски — tag, читается «тэг»).
Большинство HTML-тегов — парные, то есть на каждый открывающий тег вида <tag> есть закрывающий тег вида </tag> с тем же именем, но с добавлением «/».
Теги можно вводить как большими, так и маленькими буквами. Например, теги <body>, <BODY> и <Body> будут восприняты браузером одинаково.
Многие теги, помимо имени, могут содержать атрибуты — элементы, дающие дополнительную информацию о том, как браузер должен обработать текущий тег. В нашем простейшем документе, однако, нет ни одного атрибута. Но мы обязательно встретимся с атрибутами уже в следующем разделе.
Обязательные теги
править<html> ... </html>
Тег <html> должен открывать HTML-документ. Аналогично, тег </html> должен завершать HTML-документ.
<head> ... </head>
Эта пара тегов указывает на начало и конец заголовка документа. Помимо наименования документа (см. описание тега <title> ниже), в этот раздел может включаться множество служебной информации, о которой мы обязательно поговорим чуть позже.
<meta>
Тег meta определяет кодировку сайта, хранит служебную информацию для поисковых роботов и браузеров.
<title> ... </title>
Всё, что находится между тегами <title> и </title>, толкуется браузером как название документа. Netscape Navigator, например, показывает название текущего документа в заголовке окна и печатает его в левом верхнем углу каждой страницы при выводе на принтер. Рекомендуется название не длиннее 64 символов.
<body> ... </body>
Эта пара тегов указывает на начало и конец тела HTML-документа, которое и определяет содержание документа.
<H1> ... </H1> — <H6> ... </H6>
Теги вида <Hi> (где i — цифра от 1 до 6) описывают заголовки шести различных уровней. Заголовок первого уровня — самый крупный, шестого уровня, естественно — самый мелкий.
<P> ... </P>
Такая пара тегов описывает абзац. Всё, что заключено между
<P>
и
</P>
воспринимается как один абзац. Теги
<Hi>
и
<P>
могут содержать дополнительный атрибут ALIGN (читается «элайн», от английского «выравнивать»), например:
<H1 ALIGN=CENTER>Выравнивание заголовка по центру</H1>
или
<P ALIGN=RIGHT>Образец абзаца с выравниванием по правому краю</P>
Подытожим всё, что мы знаем, с помощью примера 2:
<html>
<head>
<title>Пример 2</title>
</head>
<body>
<H1 ALIGN=CENTER>Привет!</H1>
<H2>Это чуть более сложный пример
HTML-документа</H2>
<P>Теперь мы знаем, что абзац можно выравнивать
не только влево, </P>
<P ALIGN=CENTER>но и по центру</P>
<P ALIGN=RIGHT>или по правому краю.</P>
</body>
</html>
С этого момента Вы знаете достаточно, чтобы создавать простые HTML-документы самостоятельно от начала до конца. В следующем разделе мы поговорим, как можно улучшить наш простой HTML-документ.
Форматирование абзаца HTML-документа
правитьНепарные теги
правитьВ этом разделе Самоучителя HTML мы поговорим о тегах, которые не подчиняются двум основным правилам HTML: все они непарные, а некоторые (так называемые &-последовательности) к тому же должны вводиться только маленькими буквами.
<BR>
Этот тег используется, если необходимо перейти на новую строку, не прерывая абзаца. Его можно писать разными способами.
<BR>
</BR>
<BR/>
<BR />
Но это не обязательно. Очень удобно при публикации стихов (см. пример 3):
<html>
<head>
<title>Пример 3</title>
</head>
<body>
<H1>Стих</H1>
<H2>Автор неизвестен</H2>
<P>Однажды в студеную зимнюю пору<BR>
Сижу за решеткой в темнице сырой.</BR>
Гляжу - поднимается медленно в гору<BR/>
Вскормленный в неволе орел молодой.</P>
<P>И шествуя важно, в спокойствии чинном,<BR />
Мой грустный товарищ, махая крылом,<BR>
В больших сапогах, в полушубке овчинном,<BR>
Кровавую пищу клюет под окном.</P>
</body>
</html>
Тег
<HR>
описывает вот такую горизонтальную линию:
Тег может дополнительно включать атрибуты SIZE (определяет толщину линии в пикселах) и/или WIDTH (определяет размах линии в процентах от ширины экрана). В примере 4 приведена небольшая коллекция горизонтальных линий:
<html>
<head>
<title>Пример 4</title>
</head>
<body>
<H1>Коллекция горизонтальных линий</H1>
<HR SIZE=2 WIDTH=100%><BR>
<HR SIZE=4 WIDTH=50%><BR>
<HR SIZE=8 WIDTH=25%><BR>
<HR SIZE=16 WIDTH=12%><BR>
</body>
</html>
&-последовательности
правитьПоскольку символы «<» и «>» воспринимаются браузерами как начало и конец HTML-меток, возникает вопрос: а как показать эти символы на экране? В HTML это делается с помощью &-последовательностей (их еще называют символьными объектами или эскейп-последовательностями). Браузер показывает на экране символ «<», когда встречает в тексте последовательность <
(по первым буквам английских слов less than — меньше, чем). Знак «>» кодируется последовательностью >
(по первым буквам английских слов greater than — больше, чем).
Символ «&» (амперсанд) кодируется последовательностью &
Двойные кавычки (") кодируются последовательностью "
Помните: точка с запятой — обязательный элемент &-последовательности. Кроме того, все буквы, составляющие последовательность, должны быть в нижнем регистре (то есть, маленькие). Использование меток типа "
или &
не допускается.
Вообще говоря, &-последовательности определены для всех символов из второй половины ASCII-таблицы (куда, естественно, входят и русские буквы). Дело в том, что некоторые серверы не поддерживают восьмибитную передачу данных, и поэтому могут передавать символы с ASCII-кодами выше 127 только в виде &-последовательностей.
Комментарии
правитьБраузеры игнорируют любой текст, помещенный между <!-- и -->
. Это удобно для размещения комментариев.
<!-- Это комментарий -->
Форматирование шрифта
правитьHTML допускает два подхода к шрифтовому выделению фрагментов текста. С одной стороны, можно прямо указать, что шрифт на некотором участке текста должен быть жирным или наклонным, то есть изменить физический стиль текста. С другой стороны, можно пометить некоторый фрагмент текста как имеющий некоторый отличный от нормального логический стиль, оставив интерпретацию этого стиля браузеру. Поясним это на примерах.
Физические стили
правитьПод физическим стилем принято понимать прямое указание браузеру на модификацию текущего шрифта. Например, всё, что находится между тегами
<B>
и
</B>
, будет написано жирным шрифтом. Текст между тегами
<I>
и
</I>
будет написан наклонным шрифтом. Несколько особняком стоит пара тегов
<TT>
и
</TT>
. Текст, размещенный между этими тегами, будет написан шрифтом, имитирующим пишущую машинку, то есть имеющим фиксированную ширину символа.
Логические стили
правитьПри использовании логических стилей автор HTML документа не может знать заранее, что увидит на экране читатель. Разные браузеры толкуют одни и те же теги логических стилей по-разному. Некоторые браузеры игнорируют некоторые теги вообще и показывают нормальный текст вместо выделенного логическим стилем. Вот самые распространенные логические стили:
<EM> ... </EM>
От английского emphasis — акцент.
<STRONG> ... </STRONG>
От английского strong emphasis — сильный акцент.
<CODE> ... </CODE>
Рекомендуется использовать для фрагментов исходных текстов.
<SAMP> ... </SAMP>
От английского sample — образец. Рекомендуется использовать для демонстрации образцов сообщений, выводимых на экран программами.
<KBD> ... </KBD>
От английского keyboard — клавиатура. Рекомендуется использовать для указания того, что нужно ввести с клавиатуры.
<VAR> ... </VAR>
От английского variable — переменная. Рекомендуется использовать для написания имен переменных.
<BUTTON> ... </BUTTON> - от английского button - кнопка.Создаёт кнопку. Без тега <FORM> отображение невозможно.</BUTTON>
Подытожим наши знания о логических и физических стилях с помощью примера 5. Заодно Вы сможете увидеть, как Ваш браузер показывает те или иные логические стили.
<syntaxhighlight lang="html4strict">
<html>
<head>
<title>Пример 5</title>
</head>
<body>
<H1>Шрифтовое выделение фрагментов текста.</H1>
<P>Теперь мы знаем, что фрагменты текста можно выделять <B>жирным</B> или <I>наклонным</I> шрифтом.</P>
<P>Кроме того, можно включать в текст фрагменты с фиксированной шириной символа <TT>(имитация пишущей машинки).</TT></P>
<P>Кроме того, существует ряд логических стилей:</P>
<P><EM>EM - от английского emphasis - акцент,</EM><BR>
<STRONG>STRONG - от английского strong emphasis - сильный акцент,</STRONG><BR>
<CODE>CODE - для фрагментов исходных текстов,</CODE><BR>
<SAMP>SAMP - от английского sample - образец,</SAMP><BR>
<KBD>KBD - от английского keyboard - клавиатура,</KBD><BR>
<VAR>VAR - от английского variable - переменная.</VAR></P>
<BUTTON> - от английского button - кнопка.Без тега <FORM> отображение невозможно.</BUTTON>
</body>
</html>