Отправляет email-рассылки с помощью сервиса Sendsay

Самоучитель по HTML и CSS

  Все выпуски  

Самоучитель по HTML и CSS - 3


Самоучитель по HTML и CSS

3. Теги

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

<тег параметр1="значение" параметр2="значение">
<тег параметр1="значение" параметр2="значение">...</тег>

Как видно из данного примера, теги бывают двух типов — одиночные и парные (контейнеры). Одиночный тег используется самостоятельно, а парный может включать внутри себя другие теги или текст. У тегов допустимы различные параметры, которые разделяются между собой пробелом. Впрочем, есть теги, без всяких дополнительных атрибутов. Параметры условно можно подразделить на обязательные, они непременно должны присутствовать, и необязательные, их добавление зависит от цели применения тега.

В листинге 3.1 показан типичный HTML-документ с тегами и текстом.

Листинг 3.1. Теги в документе

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<title>Lorem ipsum</title>
</head>
<body>
<p>Lorem ipsum dolor sit amet consectetuer cursus pede pellentesque vitae pretium. Tristique mus at elit lobortis libero Sed vestibulum ut eleifend habitasse. Quis Nam Mauris adipiscing Integer ligula dictum sed at enim urna. Et scelerisque id et nibh dui tincidunt Curabitur faucibus elit massa. Tincidunt et gravida Phasellus eget parturient faucibus tellus at justo sollicitudin. Mi nulla ut adipiscing.</p>
</body>
</html>

В данном примере используется одиночный тег <META>, а парных тегов сразу несколько: <HTML>, <HEAD>, <TITLE>, <BODY> и <P>.

Парные теги

Парные теги, называемые по-другому контейнеры, состоят из двух частей — открывающий и закрывающий тег. Открывающий тег обозначается как и одиночный — <тег>, а в закрывающем используется слэш — </тег>. Допускается вкладывать в контейнер другие теги, однако следует соблюдать их порядок. Так, на рис. 3.1 демонстрируется, как можно и нельзя добавлять один контейнер внутрь другого.

а

б

Рис. 3.1. Вложение тегов, а — правильное, б — неверное

Если связать открывающий и закрывающий тег между собой скобкой, как показано на рис. 3.1, то несколько скобок обозначающих разные контейнеры, не должны пересекаться между собой (рис. 3.1а). Любое пересечение условных скобок (рис. 3.1б) говорит о том, что правильная последовательность тегов нарушена.

Замечание

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

Правила применения тегов

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

Параметры тегов и кавычки

Согласно спецификации HTML все значения параметров тегов следует указывать в двойных ("пример") или одинарных кавычках ('пример'). Отсутствие кавычек не приведет к ошибкам, браузеры достаточно корректно обрабатывают код и без кавычек, за исключением текста, содержащего пробелы (листинг 3.2).

Листинг 3.2. Использование кавычек в параметрах тегов

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<title>Кавычки в параметре alt</title>
</head>
<body>
<img src="/images/title.gif" alt="Вид заголовка" width="438" height="118">
<img src="/images/title.gif" alt=Вид заголовка width="438" height="118">
</body>
</html>

В данном примере строка 8 написана правильно, со всеми кавычками, а в строке 9 у параметра alt кавычки отсутствуют. Из-за этого браузер в качестве значения параметра alt возьмет только первое слово ("Вид"), а слово "заголовка" будет воспринято как ошибочный аргумент. Поэтому всегда приучайтесь указывать параметры тегов в кавычках.

Теги можно писать как прописными, так и строчными символами

Любые теги, а также их параметры нечувствительны к регистру, поэтому форму записи вы вольны выбирать сами, как писать — <BR>, <Br> или <br>. В любом случае рекомендуется придерживаться выбранной формы записи на протяжении всех страниц сайта. Заметим также, что текст, полностью набранный прописными символами, читается хуже, чем текст со строчными символами или смешанный.

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

Переносы строк

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

Листинг 3.3. Переносы строк в коде тега

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<title>Кавычки в параметре alt</title>
</head>
<body>
<img src="/images/title2.gif" alt="Вид заголовка в браузере Internet Explorer" width="438" height="118">
<img src="/images/title2.gif"
alt="Вид заголовка в браузере Internet Explorer"
width="438"
height="118">
</body>
</html>

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

Замечание

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

Неизвестные теги и параметры

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

Порядок тегов

Существует определенная иерархия вложенности тегов. Например, тег <TITLE> должен находиться внутри контейнера <HEAD> и нигде иначе. Чтобы не возникло ошибки, следите за тем, чтобы теги располагались в коде правильно.

Если теги между собой равноценны в иерархии связи, то их последовательность не имеет значения. Так, можно поменять местами теги <TITLE> и <META>, на конечный результат это никак не скажется.

Закрывайте все теги

Существует три состояния закрывающего тега: обязателен, не требуется или не обязателен. Обязательный закрывающий тег должен присутствовать всегда, иначе это приведет к ошибке при отображении документа. Для некоторых тегов вроде <BR> закрывающего тега нет в принципе. Необязательный закрывающий тег говорит о том, что разработчик может его как добавить, так и опустить, к ошибке это не приведет. Однако рекомендуем закрывать все подобные теги, включая необязательные, это дисциплинирует, создает более стройный и строгий код, который легко модифицировать.

Значения параметров тегов

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

Для параметров тегов используются значения по умолчанию

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

Параметры без значений

Допустимо использовать некоторые параметры у тегов, не присваивая им никакого значения, как показано в листинге 3.4.

Листинг 3.4. Параметры без значений

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Добавление формы</title>
</head>
<body>
<form action="self.php">
<input type="text">
<input type="submit" disabled>
</form>
</body>
</html>

В данном примере используется параметр disable, у которого явно не задано значение. Подобная запись называется "сокращенный атрибут тега".

Порядок параметров в тегах

Порядок параметров в любом теге не имеет значения и на результат отображения элемента не влияет. Поэтому теги вида <img src="/images/title.gif" width="438" height="118"> и <img height="118" width="438" src="/images/title.gif"> по своему действию равны.

Формат параметров

Каждый параметр тега относится к определенному типу (например: текст, число, путь к файлу и др.), который обязательно должен учитываться при написании параметра. Так, в листинге 3.3 упоминается тег <IMG>, он добавляет на веб-страницу рисунок, а его параметр width задает ширину изображения в пикселах. Если поставить не число, а нечто другое, то аргумент будет проигнорирован и возникнет ошибка при валидации документа.

Вопросы для проверки

1. В каких строках приведенного кода находятся ошибки?

1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2. <html>
3. <head>
4. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
5. <title>Untitled Document</title>
6. </head>
7. <body>
8. <table width="100%" border="0" cellspacing="0" cellpadding="4">
9. <tr><td><b>Lorem</td>
10. <tr><td>
11. <label for="textfield3">Lorem Ipsum Dolar</label>
12. <br></p></tr>
13. </table>
14. </body>
15. </html>

  1. 8 и 10
  2. 9 и 12
  3. 4 и 8
  4. 10 и 13
  5. 5 и 14

2. Какой вариант написания тега наиболее правильный?

  1. <a class='mylink' href='/images/2.html title='Sample'>Sample</a>
  2. <a class=mylink href=/images/2.html title=Sample>Sample</a>
  3. <a class=<mylink> href=</images/2.html> title="Sample">Sample</a>
  4. <a class="mylink" href="/images/2.html" title=«Sample»>Sample</a>
  5. <a class="mylink" href="/images/2.html" title="Sample">Sample</a>

3. Какая ошибка содержится в приведенной строке кода?

<p><b>Lorem ipsum</b> dolor <i><span>
sit amet consectetuer cursus<br> pede</i> pellentesque</span> vitae pretium.</p>

  1. Нет закрывающего тега </br>.
  2. Неправильное вложение тегов.
  3. У тегов нет ни одного параметра.
  4. Тега <span> не существует.
  5. Текст перенесен на другую строку.

4. Саша добавляет на веб-страницу изображение шириной 200 пикселов, для чего использует тег <img width="200px">, Лена же для этой цели применяет <img width="200">, а Борис — <img width="200%">. У кого наиболее правильный результат?

  1. У Саши и Лены
  2. У Бориса и Саши
  3. У Саши
  4. У Лены
  5. У Бориса

5. Вы хотите получить валидный HTML-код. Какое требование необходимо обязательно выполнять?

  1. Не использовать сокращенные атрибуты тегов.
  2. Писать все теги в нижнем регистре.
  3. Применять правильное вложение тегов.
  4. Значения параметров писать только прописными буквами.
  5. Опускать теги, которые добавляются по умолчанию.

6. Какое написание тега из приведенных вариантов правильное?

  1. <\tag>
  2. {/tag}
  3. "tag"
  4. <tag>
  5. <tag/>
Copyright 2007 Влад Мержевич. По всем вопросам пишите по адресу vlad@htmlbook.ru

В избранное