[NeVor.ru]

   •Главная•   •Поиск•   •Новости•   •Гостевая•   •Карта•  
•Главная•   •Поиск•   •Новости•   •Гостевая•   •Карта•  
Любимов Павел 2008-2011. © (написать письмо).
Навигация
по сайту
Компьютеры
Программы
Сайты
Прочее
На главную
Гостевая
Новости
Статьи
Список статей
по теме
Содержание
раздела
Предисловие
Введение
Программы
Код HTML
Использование
спецификации
Термины
Код CSS
Использование
спецификации
Код PHP
Структура
html-документа
Технические
моменты
Верстка сайта
Виды вёрстки
Поиск ошибок
Системы CMS

HTML код. Теги и атрибуты.

редакция 12.04.10

Любой код содержит в себе команды управления, посредством которых выполняются определенные задачи. В каждом языке они называются по-разному, но суть у них одна и та же. Чтобы не запутаться в терминах html кода и говорить на одном языке, разберемся как тут называются и как используются команды.

HTML код практически полностью состоит из команд, называемых тегами (от английского "tag"). В спецификации (документации по языку HTML) теги именуются "элементами". Поскольку HTML, как я уже упоминал в первой статье - это язык гипертекстовой разметки, встает вопрос - как эта самая разметка работает? HTML код представляет собой соответствующим образом оформленный текст. Чтобы обозреватель при обработке страницы не путал его с простым текстом, элементы кода принято заключать в угловые <html код> скобки. Таким образом оформленный html тег выглядит так: <тег>. У тегов есть свои настройки, которые позволяют влиять на результат их работы. Эти настройки называются АТРИБУТАМИ. Атрибут может иметь одно или несколько значений. Таким образом общий вид команд HTML выглядит так:

<ТЕГ атрибут="значение">

для удобства я буду писать ТЕГИ в верхнем регистре, а их атрибуты и значения атрибутов в нижнем, хотя html код за редким исключением (значение атрибута "id") не чувствителен к регистру. Так что можете писать как вам нравится. Обращайте внимание на символы (знак равенства, кавычки и другие) в примерах, их обязательно нужно указывать. Значение атрибуту задается с помощью знака равенства, а само значение заключается в кавычки и вся эта конструкция пишется без пробелов!

В языке HTML существует два вида тегов:

  1. Пустой элемент (тег): команда, имеющая только открывающий тег (<ТЕГ>), которая выполняет определенное действие. Например, тег <HR> построит линию, а тег <LI> укажет, что все, следующее после него, будет элементом списка.
  2. Контейнер (парный тег): элемент, имеющий открывающий (<ТЕГ>) и закрывающий (</ТЕГ>) теги. Пара тегов образует контейнер, который влияет на свое содержимое. Контейнеры еще называют парными тегами.
    <ТЕГ>содержимое контейнера</ТЕГ>

    Хорошим примером может послужить список, который вы сейчас просматриваете. Он образован тегом-контейнером <OL>, а каждый пункт в нем - тегом-элементом <LI>. Таким образом <OL> преобразует текст в список, а <LI> объявляет начало каждого пункта этого списка.

Контейнер может быть строгим - например, контейнер ссылки <A>ссылка</A> (закрывающий тег обязателен) и свободным - например, ячейка таблицы <TD>. В случае с ячейками сигнализировать о том, что контейнер закрыт, может закрывающий тег ячейки (</TD>); тег, открывающий следующую ячейку (<TD>); тег, закрывающий ряд ячеек (</TR>); а также закрывающий тег таблицы (</TABLE>), в которой расположены ячейки. Поэтому нет принципиальной разницы в том, какой из вариантов вы используете:

<TABLE>
<TR>
<TD>содержимое ячейки</TD>
<TD>содержимое ячейки</TD>
</TR>
</TABLE>

<TABLE>
<TR>
<TD>содержимое ячейки
<TD>содержимое ячейки
</TR>
</TABLE>

<TABLE>
<TR>
<TD>содержимое ячейки
<TD>содержимое ячейки
</TABLE>

Тег может иметь обязательные атрибуты. <HR> и <LI> обязательных атрибутов не имеют, команды прекрасно выполняются и без них. А вот элемент <IMG> имеет сразу два обязательных атрибута: "src" (source - источник) и "alt" (alternative - альтернативный вариант). Если при обработке тега картинка по указанному адресу не обнаружится, обозреватель разместит на месте предполагаемого изображения ее название, указанное в атрибуте "alt" (альтернативный вариант).

Учитывая все вышесказанное, получаем два вида шаблонов, использующихся в html коде:

1. Теги:

<ТЕГ атрибут="значение">

2. Контейнеры:

<ТЕГ атрибут="значение">
содержимое контейнера
</ТЕГ>

А далее представлены варианты их применения:

1. Тег <BR>, переносящий строку:

первая строка<BR>вторая строка
первая строка
вторая строка

2. Тег <IMG>, размещающий изображения:

<IMG src="images/img.gif" alt="img.gif">
img.gif

3. "Строгий" контейнер ссылки<A>:

<A href="http://www...">текст ссылки</A>
текст ссылки

4. "Свободный" контейнер форматирования текста <P>:

<P align="right" style="color: gray;">
Серый текст справа

Серый текст справа

<P align="left" style="color: gray;">
Серый текст слева</P>

Серый текст слева


Теперь поговорим о вложениях. Теги и контейнеры могут быть содержимым.

<DEL>123 <INS>456</INS> 789</DEL>
вложение

Контейнер <INS> (подчеркнутый текст) вложен в контейнер <DEL> (зачеркнутый) и является его содержимым. Результат вложения следующий:

123 456 789

Заметьте, что контейнер <DEL> влияет и на содержимое контейнера <INS> (456), зачеркивая его. Можно делать и большее количество вложений при надобности, главное соблюдать принцип матрешки - следить за тем, чтобы открывающий и закрывающий тег находились в одном контейнере, иначе будут ошибки и большие.

Со свободными контейнерами нужно быть начеку, потому что концом такого контейнера может оказаться не закрывающий необязательный тег, а открывающий тег совершенно другого контейнера. Например, если попробовать вложить в абзац (<P>) список (<OL>),

<P>Начало абзаца
<OL>
<LI>список
<LI>список
</OL> окончание абзаца </P>

то начало контейнера списка будет автоматически означать конец контейнера абзаца, после списка последует неоформленный текст и "хвост" абзаца (</P>), которому уже нечего будет закрывать.

<P>Начало абзаца(</P>)
<OL>
<LI>список
<LI>список
</OL> окончание абзаца </P>

Поэтому "хвост" абзаца (</P>) в этом случае - просто мусор. А вот вложить абзац в список можно без проблем. С другой стороны ячейке таблицы (<TD>) тоже не требуется закрывающего тега, однако в ячейку можно впихнуть много чего. Поэтому, не указывая ее конец, можно получить нежелательное вложение.

При html-верстке иногда приходится использовать символы, которые могут трактоваться двояко. Например, употребление символа "<" будет расценено обозревателями как часть тега, то есть как служебный символ, а это не всегда так. Поэтому "проблемные" символы кодируются. Называются такие символы мнемониками. Список мнемоник можно посмотреть в спецификации или тут. [наверх]

Использование спецификации

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

W3C

рис.1

Допустим, что нас интересуют таблицы. Находим ссылку, переходим по ней и изучаем содержание раздела №11 ("Таблицы", рис.1/2, маркер 1). С помощью верхнего меню можно перейти на раздел выше или ниже при помощи ссылок "предыдущий" и "следующий" или перейти к спискам тегов с настройками по ссылкам "элементы" и "атрибуты" (рис.2, маркер 2).

W3C

рис.2

В содержании находим элемент <TABLE> ( рис.2, маркер 3), отвечающий за построение таблиц, переходим по ссылке и изучаем подробную информацию по нему.

W3C

рис.3

Маркеры рис.3:

  1. Название элемента (тега).
  2. Парный тег или нет.
  3. Список атрибутов тега.
  4. Рекомендации по использованию.
  5. Информация по атрибутам тега.

Информацию о командах html кода можно посмотреть в списках, перейдя по соответствующим ссылкам (рис.2, маркер 2). В левой колонке указываются теги или атрибуты в алфавитном порядке сверху вниз, в остальных колонках в строчку их свойства, принадлежность и прочее.

W3C

рис.4

Что касается атрибутов, то в таблице можно встретить несколько одинаковых к ряду (рис.4, маркер 1). При этом стоит обратить внимание на вторую колонку, где указано - к какому тегу атрибут относится и на четвертую, в которой указано необходим он или предполагается. На рисунке видно, что атрибут "src" тега <IMG> необходим, то есть является обязательным, а в остальных тегах его можно не указывать. В пятой и шестой колонке указан статус (маркер 2, рис.4). Если стоит "D" и "L", значит атрибут не рекомендован к использованию, а если "F", то запрещен. Эту информацию частично можно изучить в описании тега (рис.3, маркер 5).

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

W3C

рис.5

Значения указаны явно (рис.6, маркер 1), либо в виде определенных величин (рис.6, маркер 2). Список этих величин можно посмотреть тут. Чтобы было понятней, поясню на примере величин Pixels, Length и MultiLength. Если указано "Pixels", значит величина указывается целым числом, которое обозначает число пикселей (width="500" - ширина 500 пикселей). Если указано "Length", значит величину можно указать как числом (пикселей), так и в процентах (width="50%" - ширина равна половине доступного пространства). Если же указано "MultiLength", величина может измеряться в пикселях, в процентах или частями (width="2*" - две части доступного пространства). Однако "MultiLength" встречается редко, а указание размера частями - еще реже.

Изучайте спецификацию, пользуйтесь ей при изучении и при верстке - это хороший учебник и прекрасный справочник. Обратите внимание на следующие разделы спецификации:

  1. Базовые типы данных.
  2. Горизонтальное и вертикальное выравнивание.
  3. Атрибуты id и class.
  4. Вставка объектов (элемент OBJECT).
  5. Скрипты (JavaScript и прочие).
  6. Внутренние события (скрипты).

Термины

В этом учебнике вам встретится ряд терминов, которые используются в спецификации языков программирования и (или) которые использую лично я:

  1. Спецификация: основной документ, содержащий правила и рекомендации по использованию чего-либо на основе принятых стандартов.
  2. Обозреватель или ПА: распространенный в интернете термин "браузер" является транскрипцией английского слова "browser" и переводится как интернет-обозреватель. В учебнике употребляется как "обозреватель", а в спецификации как "ПА" (Пользовательский Агент).
  3. Тег: команда языка HTML, выполняющая какое-либо действие.
  4. Свойство: команда языка CSS, выполняющая какое-либо действие. В контексте каскадных таблиц, разумеется.
  5. Шаблон: общий вид тегов (свойств css) со всеми возможными значениями, представленных как одно выражение. У любого языка программирования есть свой набор шаблонов, с помощью которых можно легко и просто объяснить принцип внутреннего устройства и работы команд этого языка. A+B=C - это шаблон, а 2+2=4 или 3+6=9 - это уже примеры, являющиеся частными случаями шаблона.
  6. Структура: схема, поясняющая устройство и принцип работы. В учебнике употребляется как структура языка или документа.
  7. Мнемоника: символ, употребляющийся в коде, но зашифрованный специальным образом, чтобы не учитываться при обработке и отображаться как текст.

На этом глава о html-коде заканчивается, можете переходить к знакомству с CSS. [наверх]

помочь автору и сайту

...таблицы стилей...


Информация
Спецификация
языка HTML
Спецификация
языка CSS
Файлы
Набор новичка
Шаблоны сайтов
Редактор кода
Тренер HTML
Denwer