Пакет Adobe GoLive

Цвета и единицы измерения

Цвета и единицы измерения

В коде HTML-документа нам всегда придется указывать размеры тех или иных объектов оформления Web-страницы, а также цветовые свойства этих объектов. В HTML предусмотрены стандартные правила для обозначения цветов и единиц измерения. Начнем мы с цветовых обозначений.
Предусмотрено два способа задания цвета,.Чаще всего используется способ с указанием RGB-кода требуемого цвета. Как известно, любой цвет разлагается на три основных: красный, зеленый и синий. Браузеры позволяют нам отображать более шестнадцати миллионов цветов. Все это многообразие обеспечивается за счет того, Что каждая доля основных цветов может варьироваться от нуля до. двухсот пятидесяти пяти, т. е. каждый цвет задается сочетанием трех .чисел» каждое из которых отражает Долю одного из трех основных цветов. Для удобства обработки в HTML цвет задается в виде группы из шести шестнадцатеричных цифр в следующей форме:
color="IFFOOOO" - '' ''
Из примера видно, что перед последовательностью шестнадцатеричных цифр ставится знак решетки. Порядок чисел, указывающих насыщенность основных цветов, должен выдерживаться строго. Сначала — красный, затем — зеленый, и в самом конце — синий. Легко догадаться, что в примере мы установили красный цвет.
Но есть и альтернативный вариант установки цвета. Для щестнадцати наиболее популярных цветов были введены символьные обозначения, приведенные в табл. 1.2.

Формы

Формы

Не раз нам доводилось видеть Web-страницы, на которых нам предлагалось шести некоторые данные в поля ввода. В HTML существует механизм получения данных от пользователя. Естественно, эти данные необходимо еще обработать, но этим занимаются специализированные программы. Рассмотрим механизм их взаимодействия с Web-страницами.
Итак, пользователь загрузил себе Web-страницу, на которой располагаются эрганы управления для ввода информации. Все они объединены в общую совокупность, называемую формой. Каждая форма обладает кнопкой, по нажатию на которую введенные пользователем данные передаются обрабатывающей программе, Эта программа размещается на Web-сервере, который и обслуживает данную страницу. Подобные программы могут создаваться при юмощи самых различных технологий программирования. Объединяет их шшь единый порядок получения данных от Web-страницы. Данные передаются при помощи шлюзового интерфейса CGI (Common Gateway nterface). Поэтому обрабатывающие программы часто называют CGI-триложениями или CGI-скриптами.
Итак, приложение получает данные и обрабатывает их. Затем оно может гибо послать некое электронное письмо, либо произвести некоторую операцию в базе данных, или передать пользователю новую Web-страницу, возможные действия ограничиваются лишь свойствами технологии и фантазией программиста. При помощи подобных программ действуют всевозможные системы регистрации, обратной связи, гостевые книга, форумы, чаты. С их помощью создаются и более разветвленные и сложные системы, например, online-магазины.
Идя того чтобы создавать подобные приложения все-таки необходимо уметь программировать и знать соответствующие правила создания CGI-прилржений. До, тех пор, пока мы этого не умеем, нам остается пользоваться опять-таки общедоступными CGI-скриптами. Но если мы и получим эти приложения, то форму для ввода данных пользователем необходимо все равно делать самостоятельно. В данном разделе мы научимся это делать.
Форма ограничивается тегами
и
. Между этими тегами располагаются теги, создающие органы ввода информации и теги создания обычного содержимого Web-страницы, т. е. сами органы ввода могут раз щаться в таблице, которая в свою очередь полностью размещается в фор Тег
не создает какой-либо отображаемой структуры. Он, скорее предназначен для внутренней группировки объектов.
Тег , естественно, обладает целым рядом параметров, которые задг свойства создаваемой формы. Рассмотрим эти параметры.
  • Параметр action является обязательным. Значением его является URL указывающий на расположение того CGI-приложения, которое и бу, обрабатывать данные, введенные пользователем при помощи орш управления данной формы.
  • Параметр method предназначен для указания способа, которым данные будут передаваться обрабатывающему приложению. В качестве значен параметра используется одно из двух предустановленных ключевых cлов: get или post. Сейчас нам нет нужды узнавать, какие механизмы pear зуются при помощи того или иного метода. Так или иначе, в сопровод: тельной документации CGI-приложения указывается, какой метод neрдачи данных следует использовать. По умолчанию используется значек get.
  • Параметр enctype используется для указания типа передаваемых да ных из формы. Обычно нет нужды его использовать, так как значение application/x-www-form-urlencoded, используемое по умолчани идеально подходит для подавляющего большинства CGI-приложений.
  • Параметр accept-charset используется в тех случаях, когда пользователь передает из формы приложению не только информацию, но и файлы. В этом случае мы можем явно указать кодировки передаваемых фа лов. В качестве значения данного параметра используется текстов строка, в которой записывается одно или несколько названий кодировс В том случае, если применяется несколько кодировок, их наименование разделяются пробелами идя запятыми. По умолчанию используется значение unknown, которое указывает серверу, что тот должен сам разобраться с используемыми кодировками
  • Параметр accept задает типы передаваемых файлов. Обычно не испол зуется, так как сервер вполне в состояний сам адекватно распознать тип принимаемого файла.
  • Параметр name позволяет задавать уникальное имя формы. Естественно на одной Web-странице мозкет находиться несколько форм. В этом ел; чае значения параметров name у них не должны совпадать.
  • Тег с его закрывающим близнецом
    , по сути, создают контейнер для размещения органов ввода информации. Большая часть эт органов ввода реализуется при помощи тега . Продемонстрируем эт на небольшом примере (Рисунок 1.32).

    Фреймы

    Фреймы

    Как мы знаем, в одном окне просмотра браузера мы не можем одновременно загрузить два HTML-документа. Таким образом, если у нас на всех страницах есть одинаковое меню навигации, то абсолютно одинаковый фрагмент кода пользователь будет загружать каждый раз, когда будет переходить с одной Web-страницы сайта на другую. Даже если само меню невелико, это не самый удобный вариант, так как те каналы связи, которые есть у российских пользователей, не слишком велики, и загрузка меню может занять как минимум несколько секунд. Можем ли мы сделать так, чтобы неизменяемые элементы сайта всегда оставались в окне просмотра пользователя без перезагрузки? Можем.
    Мы можем создать документ, который разобьет одно окно просмотра на несколько прямоугольных областей, в каждой из которых будет отображаться один HTML-документ. Эти прямоугольные области, каждая из которых является, по сути, отдельным окном просмотра, и называются фреймами.
    Таким образом, мы можем оставить левое и/или верхнее меню навигации постоянно находиться » окне просмотра, а перезагружать только ту часть сайта, которая необходима.
    Как любое окно просмотра, фреймы могут обладать полосами прокрутки, которые позволяют пользователю увидеть все содержимое фрейма, если оно не умещается полностью в видимой зоне. Именно эта особенность фреймов и вызывает постоянные споры между Web-мастерами. Кто-то утверждает, что подобные элементы управления не должны находиться во внутреннем пространстве основного окна просмотра, так как они занимают бесценное пространство и рассеивают внимание пользователя. Кто-то утверждает, что эти недостатки— не слишком большая цена за облегчение перезагрузки Web-страниц в условиях медленных каналов связи. Так или иначе, вопрос о возможности применения фреймов каждый должен решать самостоятельно.
    В HTML предусмотрено два вида фреймов: обычные, и, так называемые, "плавающие". Если мы применяем обычные фреймы, то создается документ, который все окно просмотра разбивает на фреймы, и в них уже отображаются те или иные HTML-документы. Если же мы используем плавающий фрейм, то его можно включать в обычный HTML-документ без каких-либо особых ухищрений. Разницу между двумя этими типами фреймов мы увидим на примере.
    Документ с фреймовой структурой создается при помощи тега и его закрывающего близнеца . Внутри этих двух тегов размещаются конструкции объявления отдельных фреймов и информация, отображаемая в окне просмотра браузера, если тот не распознает фреймы. Отдельные фреймы создаются при помощи пары тегов и . А информация, отображаемая, когда браузер не поддерживает фреймы, закладывается в HTML-документ при помощи тега . Но все по порядку.
    Основой тега является разбиение окна просмотра на несколько частей. Для этого у тега есть два основных параметра: rows и cols, которые указывают количество и размеры фреймов по вертикали и горизонтали. При этом задается прямоугольная табличная структура. Если нам необходимо сделать более детальное разбиение, например, один фрейм в левой части окна по вертикали и два фрейма, отделенных друг от друга горизонтальной границей в правой части окна, то можно создать два тега , один внутри другого. Но все-таки, рассмотрим параметры тега более детально.
  • Параметр cols предназначен для указания количества и размеров фреймов по горизонтали в окне просмотра. В качестве значения параметра используется список размеров фреймов, разделенных запятыми. Как обычно, для указания размера мы можем использовать абсолютные и кратные величины, а также процентные соотношения. По умолчанию используется значение100%, т. е. основное окно просмотра по вертикали не разбивается.
  • Параметр rows позволяет указывать количество и размеры фреймов по вертикали в окне просмотра, Специфика задания значений ложностью совпадает с параметром cols.
  • Но рассмотрим на примере, как будет выглядеть создание HTML-документов с фреймовой структурой. Предположим, что нам необходимо один фрейм слева выделить под навигационное меню, а оставшееся пространство использовать для отображения информации с основных страниц Web-сайта. В этом случае, мы разделим окно просмотра на две части. Для меню мы выделим фрейм шириной в сто пятьдесят пикселов, а оставшееся пространство должен занять второй фрейм. Подобная структура Web-страницы реализуется при'помощи кода, приведенного в листинге 1.31.

    Гиперссылки

    Гиперссылки

    Гиперссылки являются основным достоинством Web-страниц. Это, по сути, и есть ядро всемирной паутины. Тем, без чего бы она так и осталась просто еще одним средством отображения документов. Они являются видимым отображением той технологии связи самых различных интернет-ресурсов, которая и создает уникальную интегрированность Сети.
    Мы все прекрасно знаем, что если при просмотре Web-страницы навести курсор мыши на гиперссылку, внедренную в состав содержимого Web-страницы, то курсор примет форму кисти руки с вытянутым указательным пальцем, а единичный щелчок по этой гиперссылке заставит браузер отыскать в Сети тот ресурс, на который гиперссылка указывает, и загрузить его.
    В качестве гиперссылки может выступать любой фрагмент видимого содержимого Web-страницы, т. е. и текст, и графические изображения. Для этого применяется тег <а> со своим закрывающим близнецом . Рассмотрим самый простой пример.

    ЯЗЫК HTML

    Глава 1. ЯЗЫК HTML

  • Основы
  • Cтруктура HTML-документа
  • Используемые символы
  • Цвета и единицы измерения
  • Оформление текста
  • Графика и мультимедиа
  • Гиперссылки
  • Списки
  • Таблицы
  • Фреймы
  • Встраиваемые объекты
  • Формы
  • Использование сценариев
  • Содержание




    Графика и мультимедиа

    Графика и мультимедиа

    Вторым по значимости компонентом наполнения Web-страниц после текста, несомненно, будет графическое оформление. Это различного рода рисунки, фотографии и, может даже, видеоклипы. Также мы можем использовать звуковое сопровождение отображения Web-страниц.
    Начнем мы с размещения графических изображений. Браузеры в состоянии отображать только три вида графических файлов. Это файлы форматов GIF, JPEG и PNG. Файлы формата GIF позволяют создавать анимированные изображения. JPEG-файлы обьино применяются для сохранения фотографических изображений. Недавно появившийся формат PNG позволяет совмещать хорошее качество изображения и маленький объем графического файла. Но после того как изображение было упаковано в графический файл, его все-таки необходимо каким-либо образом внедрить в состав Web-страницы.
    Для этого применяется тег со множеством параметров. Данный тег не имеет закрывающей пары, так как он не создает какой-либо области действия правила отображения, он лишь внедряет в содержимое Web-страницы
    графическое изображение. На самом деле графическое изображение может быть еще и гиперссылкой или, даже, скрывать за собой несколько гиперссылок но о гиперссылках мы поговорим в следующем разделе этой главы, а пока разберемся с правилами применения тега .
    Основным и обязательным атрибутом тега является атрибут src. В качестве значения этого атрибута используется адрес вставляемого графического файла или, если быть точным, его URL. Если графический файл находится на том же Web-сервере, то достаточно записать полное наименование файла, включая путь к нему по вложенным каталогам, т. е. если в той же папке, что и HTML-файлы с Web-страницами, расположен каталог images с рисунками, то тег вставки графического изображения приобретет следующий вид:

    В этом примере мы используем рисунок формата GIF, находящийся в файле с именем pictl.gif, который, в свою очередь, расположен в каталоге с наименованием images. Следует обратить внимание, что слэши — наклонные черты, наклонены в другую сторону, нежели при использовании их в путях файлов операционных систем семейств DOS и Windows. Дело в том, что изначально Web-серверы базировались на операционной системе Unix, которая и поддерживает файловую систему с подобными слэшами. А сейчас абсолютно неважно, какая операционная система поддерживает сервер с Web-сайтом, все пути записываются одинаковым способом и правильно обрабатываются программным обеспечением сервера.
    На заре развития WWW браузеры отображали только текстовую информацию, никакая графика не поддерживалась. Сейчас они практически не встречаются, но каждый браузер имеет возможность отключения загрузки графики. Поэтому всегда следует использовать альтернативное текстовое представление рисунка. Попросту, необходимо приготовить текст, который будет отображаться вместо рисунка, если тот не может быть по каким-либо причинам загружен браузером. Этот текст добавляется к тегу при помощи параметра alt, значением которого и является искомая текстовая строка, т. е. получится приблизительно следующая конструкция:
    Это я на отдыхе
    В том случае, если графическое изображение все-таки показывается браузером, текст альтернативного текстового представления отображается в виде «хинта», короткой текстовой подсказки, когда пользователь наводит курсор мыши на искомое графическое изображение.
    Впрочем, существует и более развернутый вариант создания подобных текстовых подсказок. При помощи параметра longdes с задается адрес интернет-ресурса, на котором находится полное описание данного графического изображения. В качестве значения этого параметра указывается, естественно, URL ресурса с описанием изображения.
    Параметр name позволяет задавать уникальное имя изображения, которое идентифицирует этот элемент оформления Web-страницы. Этот параметр оставлен для целей обратной совместимости, он остался от предыдущих версий стандарта HTML. Сейчас для этих целей все теги используют параметр id.
    По умолчанию графическое изображение показывается именно в таком виде, как оно и было создано, с сохранением размеров по вертикали и горизонтали. Однако мы имеем возможность явно задавать размеры рисунка по своему усмотрению. Для этого используются параметры height и width. Как задавать размеры в пикселах или процентном соотношении мы уже знаем. Необходимо отметить лишь, что браузеры стремятся сохранять пропорции рисунка, поэтому явное задание размеров, меняющее пропорции, может быть проигнорировано браузером, и тот выберет такие размеры, которые были бы максимально близки к указанным пользователем, не нарушая пропорций. Поэтому для Web-страниц обычно готовят графические изображения тех размеров, которые будут применяться и при отображении их в составе Web-страниц. И если одно изображение должно отображаться несколько раз с различными размерами, то проще приготовить несколько графических файлов, чем отдавать свои рисунки на самовольное отображение браузеру, который сможет нарушить всю верстку Web-страниц.
    При помощи параметров мы можем указывать величину чистого пространства, которое будет отделять графическое изображение от окружающих его других элементов оформления Web-страницы, т. е. фактически, задавать отступ рисунка. Для этого применяются параметры hspace и vspace. Параметр hspace устанавливает отступ по горизонтали в пикселах, a vspace — по вертикали. Обратите внимание, в качестве значений этих параметров могут применяться только численные значения, указывающие расстояния в пикселах. Нулевого значения для этих параметров не предусмотрено, но обычно каждый браузер использует малое ненулевое значение.
    А при помощи параметра border мы можем устанавливать толщину границы, окружающей рисунок. Как обычно, значением параметра является число, указывающее толщину в пикселах. По умолчанию используется нулевое значение, делающее границу невидимой.
    Также необходимо упомянуть о выравнивании графического объекта относительно обтекающего его текста. Для этого используется параметр align. В качестве его значения может использоваться одно ключевое слово из предопределенного их набора. Значения bottom, middle и top применяются для позиционирования первой строки текста, обтекающего рисунок по вертикали. Значение top смещает ее наверх, bottom— вниз, a middle позволяет центрировать строку по вертикали. Для выравнивания по горизонтали графического изображения применяются значения left и right. Первое значение left, как нетрудно догадаться, смещает рисунок к левому края блока, в котором тот отображается, a right — к правому.
    Теперь пришло время на примерах увидеть, как мы можем позиционировать рисунок и комбинировать его с текстом, который должен обтекать искомое графическое изображение.

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

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

    В рамках HTML мы обладаем возможностью использовать при создании Web-страниц специальный вид программ, называемых сценариями или скриптами. Они очень тесно связаны с технологией динамического HTML (DHTML), которую мы будем рассматривать в третьей главе. Но сейчас мы лишь разберем возможности их подключения к HTML-документу.
    Для создания подобных программ-сценариев могут использоваться два языка програмирования: JavaScript и VBScript. Эти программы просто встраиваются в Web-страницу, а браузер пользователя получает их и самостоятельно выполняет. В связи с тем, что VBScript недостаточно хорошо поддерживается всеми браузерами, чаще всего используется язык JavaScript.
    Итак, мы создали или нашли на просторах Сети программу-сценарий, которую нам хотелось бы использовать на своей Web-странице для придания ей некоей динамичности и интерактивности. Теперь ее необходимо подключить к нашей странице. Для этих целей используется тег . Между этими тегами обычно размещается текст программы-сценария. Впрочем, иногда просто указывается UR.L файла с этим текстом,, и тогда браузер сам отыщет его, руководствуясь указанным URL. Однако, так как поиск он будет производить тогда, когда потребуется запустить скрипт, то между действиями пользователя и реакцией программы будет возникать определенная задержка. Поэтому, чаще всего текст программы присоединяют к HTML-документу.
    Тег .
    '
    В этом примере мы просто подключаем скрипт с вставкой его кода напрямую в создаваемую Web-страницу, Если необходимо присоединить отдельный файл со скриптом, следует использовать следующий фрагмент кода:
    -


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




    Используемые символы

    Используемые символы

    А теперь обратимся к политике используемых символов в HTML. Как известно, в компьютерах каждый символ все-таки на самом деле является неким числом. И операционная система при дакэбражеши текста выводит уже символ, соответствующий какому-либо числу. Таблица соответствия чисел и символов называется кодировкой. Но дело в том, что кодировок только для русскоязычных символов уже не менее пяти. И если браузер не распознает, какая кодировка использована гфи создании Web-страницы, то вместо текста пользователь увидит мешанину непонятных символов. Каждый, наверное, с этим встречался. Поэтому в каждый браузер встроена функция смены кодировки отображаемой Web-страницы. Однако язык HTML обладает возможностями указания используемой кодировки, чтобы браузер не пытался распознать ее самостоятельно. Для этих целей используется уже знакомый нам тег . Дело в том, что среди предбпределенных переменных протокола HTTP есть переменная с наименованием Сontent-Type. Она задает тип содержимого Web-страницы и дополнительно позволяет указывать наименование применяемой кодировки. Полностью соответствующая конструкция выглядит так:
    <МЕТА. http-equiv="Content-Type" content="text/html;
    charset=ISO-8858-5">
    В приведенном примере видно, что значение переменной состоит из двух частей, разделенных знаком точки с запятой. Первая часть говорит о том, что данный документ является обычным текстом с тегами HTML, а вторая часть указывает используемую кодировку. При этом использование слова charset является обязательным. А, после знака равенства указывается уже само название кодировки. В примере использовано стандартная кодировка, утвержденная Международной Организацией по Стандартизации (ISO) с поддержкой кириллицы. Однако вместо нее можно использовать стандартную кириллическую кодировку Windows или КОИ-8.
    Также следует указать, что браузеры не могут обычным порядком отображать некоторые символы, которые встречаются в тексте. Так, если браузер в тексте встретит знак неравенства "меньше", то он просто интерпретирует его как открывающую скобку для тега. А так как стандартного тега за этим знаком не последует, то некоторая часть текста будет просто проигнорирована и не отображена. Более того, некоторые специализированные европейские символы просто отсутствуют на клавиатуре, и их будет затруднительно .вставить в текст содержимого Web-страницы. Проблему необходимо было решить. И выход был найден.
    Вместо самих символов в текст подставлялись последовательности, которые можно было уже нормально интерпретировать. Так, знак неравенства "меньше", он же — открывающая угловая скобка, заменяется на последовательность ⁢, В данном случае вся последовательность заключена в кавычки, начинается она со знака амперсанта, а заканчивается знаком точки с запятой. Подобные последовательности перекочевали и в язык следующего поколения — XML, и получили название "eatities", что в русскоязычной литературе переводят как "сущности". Перевод, конечно, правильный, но, к сожалению, ничуть не разъясняет суть дела. Проще и, наверное, правильней называть эти сущности текстовыми подстановками. Список текстовых подстановок используемых в HTML приведен в табл. 1.1.
    Таблица 1.1. Текстовые подстановки
    Символы Описание
    < Знак неравенства "меньше" (<)
    > ;
    Знак неравенства "больше" (>),
    & Знак амперсанта (&)
    " Знак кавычек
    À Прописная А, тупое ударение
    Á Прописная А, сильное ударение
    Â Прописная А, диакритическое ударение
    Ã Прописная А, тильда
    Ä Прописная А, умляут
    Å Прописная А, звонко" произношение
    à Строчная а, тупое ударение
    ´ Строчная а, сильное ударение
    â Строчная а, диакритическое ударение
    ã Строчная а, тильда
    ä Строчная а, умляут
    å Строчная а, звонкое произношение
    &Aelig Прописные АЕ, дифтонг
    æ Строчные ае, дифтонг
    Ç Прописная С, седиль
    ç Строчная с, седиль
    È Прописная Е, тупое ударение
    É Прописная Е, сильное ударение
    Ê Прописная Е, диакритическое ударение
    &Еuml Прописная Е, умляут
    è Строчная е, тупое ударение
    é Строчная е, сильное ударение
    ê Строчная е, диакритическое ударение
    ë Строчная е, умляут
    Í Прописная I, сильное ударение
    Ì Прописная I, тупое ударение
    Ï Прописная I, умляут
    í Строчная i, сильное ударение
    ì Строчная i, тупое ударение
    &ticirc Строчная i, диакритическое ударение
    ï Строчная i, умляут
    Ð Сочетание Eth
    ð Строчные eth
    Ñ Прописная N, тильда
    ñ Строчная п, тильда
    Ò Прописная О, тупое ударение
    Ó, Прописная О, сильное ударение
    &0circ . Прописная О, диакритическое ударение
    &0tilde Прописная 0, тильда
    Ö Прописная О, умляут
    Ø Прописная О, слэш
    ò Строчная о, тупое ударение
    ó Строчная о, сильное ударение
    ô Строчная о, диакритическое ударение
    õ Строчная о, тильда ,
    ö Строчная о, умляут
    ø Строчная о, слэш
    Ù Прописная U, тупое ударение
    Ú Прописная U, сильное ударение
    Û Прописная U, диакритическое ударение
    Ü Прописная U, умляут
    ù Строчная и, тупое ударение
    ú Строчная и, сильное ударение
    û Строчная и, диакритическое ударение
    ü Строчная и, умляут
    Ý Прописная Y, сильное ударение
    ý Строчная у, сильное ударение
    ® Зарегистрированная торговая марка — Trademark
    scopy Права собственности - Copyright
    Snbsp Неразделяемый пробел
    Но подстановки бывают не только текстовыми. Мы можем воспользоваться подстановкой для вставки в текст любогр символа из текущей кодировки, если нам известен его числовой код. Для этого используется конструкция "&#числовой_код;". В подобном формате численных подстановок используется запись числового кода в десятичном виде. Если необходимо использовать шестнадцатеричную запись, то подстановка примет следующий вид: "&#хчисловой_код;", т. е. после знака решетки добавляется латинский символ "икс".
    Назад Содержание Вперед


    Это обычная линия, отображаемая по

    Листинг 1.10









    <р>
    Это обычная линия, отображаемая по умолчанию




    <р>
    Это укороченная линия, прижатая влево


    <р>
    Это укороченная линия, расположенная по центру


    <р>
    Это укороченная линия, прижатая вправо


    <р>
    Это утолщенная линия без тени






    Как выглядит подобный HTML-документ при просмотре его с помощью браузера, показано на Рисунок 1.10.
    И на этом, пожалуй, можно закончить рассмотрение возможностей оформления текста, присущих HTML.
    Это обычная линия, отображаемая по
    Рисунок 1.10. Окно браузера с результатом отображения файла, приведенного в листинге 1.10




    Это текст, который обтекает рисунок.

    Листинг 1.11

    "http://www.w3.org/TR/htm!4/strict.dtd">


    >
    .

    ,
    <1:11:1е>
    Рисунки и TeKCT



    <р>
    Это текст, который обтекает рисунок.

    Это текст, который обтекает рисунок. Это текст, который обтекает рисунок.
    Это текст, который обтекает рисунок.





    Внешний вид этого HTML-документа при отображении его с помощью браузера показан на Рисунок 1.11.

    Это текст/ который обтекает рисунок.

    Листинг 1.12

    "http://www.w3.org/TR/html4/strict.dtd">




    <br>Рисунки и текст


    <р>
    Это текст, который обтекает рисунок.align="ieft">

    Это текст/ который обтекает рисунок. Это текст, который обтекает рисунок.
    Это текст, который обтекает рисунок.





    Как видно, в этом случае опять сначала начийает отображаться текст, затем графическое изображение, прижатое к левому краю, согласно директиве, отданной при помощи параметра align, а справа от рисунка размещается остальной текст (Рисунок 1.12), т. е. изображение не может занять первую строку, так как текст начинается раньше него. То же самое произойдет, если применить параметр align со значением right, но рисунок окажется лишь прижатым к правому краю окна просмотра, а текст будет обтекать его с левой стороны. Вот и все изменения.
    Теперь рассмотрим, как действует выравнивание по вертикали. Хотя параметр выравнивания вставляется в тег рисунка, наибольшие изменения заметны все-таки у текста, окружающего рисунок. Посмотрим действие параметра вертикального выравнивания на примере.

    Это текст, который обтекает рисунок.

    Листинг 1.13

    "http://www.w3.org/TR/html4/striqt.dtd">


    -

    '
    <br>PMcyHKM и TeKCT



    <р>
    Это текст, который обтекает рисунок.align="middle">

    Это текст, который обтекает рисунок. Это текст,
    который обтекает рисунок.
    Это текст, который обтекает рисунок.





    Результат отображения этого HTML-документа показан на Рисунок 1.13.

    Обычный текст

    Листинг 1.14

    "http : / /www . w3 . org/TR/html4 /strict . dtd">


    .

    <br>Видео


    <р>
    Обычный текст.





    Гиперссылкa на другую web-страницу

    Листинг 1.15

    "http://www.w3.org/TR/html47strict.dtd">




    <br>Гиперссылки


    <р>
    0бычный текст.
    Гиперссылкa на другую web-страницу






    Легко увидеть из текста листинга,

    Листинг 1.16

    "http://www.w3.org/TR/html4/strict.dtd">




    <br>Гиперссылки





    Локальная гиперссылка

    <р>
    0бычный текст

    <р>
    <а name="anch1">
    Teкст, на который мы ссылаемся в начале страницы





    Легко увидеть из текста листинга, что при ссылке на идентификатор, располагающийся в теле Web-страницы, мы в качестве значения параметра href указываем наименование этого идентификатора со знаком решетки перед ним. Впрочем, подобным образом мы можем использовать гиперссылки не только на фрагменты содержимого исходной Web-страницы, но и на фрагменты иных Web-страниц, помеченные подобным способом. Подобная гиперссылка будет иметь приблизительно следующий вид:
    <а href="http://www.mysite.com/doc2.htmfanch3">

    To есть, мы совмещаем использование полного URL документа и одновременно указывааем на некий его фрагмент, помеченный как "anchs".

    В этом примере видно, что

    Листинг 1.17

    !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/htm!4/strict.dtd">





    <br>Ceгментированная графика



    <р>
    Это обычный текст.alt="docs"x/p>



    .


    3







    В этом примере видно, что при объявлении рисунка, в тег
    мы вставляем параметр usemap, значением которого является наименование карты активнь!х сегментов рисунка, связанных с гиперссылками. Перед наименованием используемой карты активных сегментов вставляется символ решетки. Описание этой карты помещается между тегами <тар>
    и
    . При этом у открывающего тега <тар>
    существует обязательный параметр name, значением которого является наименование карты.
    Карта состоит из описания сегментов. Каждый сегмент описывается при помощи одного тега <агеа>
    . Мы можем применять активные сегменты трех различных форм: прямоугольники, круги и многоугольники. Форма задается при помощи обязательного параметра shape. В качестве значения данного параметра мы можем использовать одно из трех предустановленных значений.
  • Значение rect используется для создания прямоугольных активных областей.
  • Значение circle используется для создания кругового сегмента.
  • Значение poly позволяет создавать активные сегменты в виде выпуклых многоугольников.
  • После того, как мы задали тип формы, следует точно определить их размеры и расположение на нашем графическом изображении. Для этого используется параметр coords, в качестве значения которого записывается перечень координат, определяющих активный сегмент. В листинге 1.17 мы можем увидеть, что координаты в общем списке разделяются обычной запятой. Отсчет координат ведется от верхнего левого угла рисунка, который имеет координаты (0;0).
    Для прямоугольных сегментов задаются координаты верхнего левого и правого нижнего угла. А для многоугольников последовательно перечисляются координаты всех точек, в порядке соединения их линиями. Естественно, первая и последняя пара координат должны совпадать, иначе многоугольник окажется незамкнутым, и активный сегмент не будет обрабатываться.
    В тег <агеа>
    входит и параметр href, в качестве значения которого используется URL ресурса, на который указывает гиперссылка данного сегмента.
    Но этот параметр, как ни удивительно, не является обязательным. В том случае, когда сегмент создается, но не должен соединятся с гиперссылкой, следует использовать параметр nohref, который не имеет значения.
    Но обязательный параметр для тега <агеа>
    все-таки есть. Это параметр alt, значением которого является текстовая строка, являющаяся альтернативным представлением рисунка. Как мы знаем, данная строка отображается в виде хинта, когда пользователь наводит курсор мыши на объект. В нашем случае подобным объектом является активный сегмент, внедренный в графическое изображение.
    Также в теге <агеа>
    , как и в тегах обычных гиперссылок, используются параметры tabindex и access key, которые позволяют активизировать гипер-ссылку без использования мыши, при помощи одной лишь клавиатуры. Структуру значений этих параметров мы рассмотрели несколько ранее. Немного отступая от темы, следует заметить, что любой «давильным Web-мастер непременно должен использовать эти параметры, так как только их применение может гарантировать активацию гиперссылок без помощи мыши.
    Итак, мы разобрались с применением технологии сегментированной графики. Но о ссылках мы узнали далеко не все. В спецификации HTML определен тег
    , который создает не привычную нам гиперссылку, а некоторую связь между отображаемым документом и каким-либо дополнительным файлом. Теги
    могут размещаться только в разделе заголовка HTML-документа, между тегами
    и
    В качестве примера применения рассматриваемого нами тега
    можно привести следующий фрагмент кода:

    При помощи этого фрагмента мы

    Листинг 1.17

    "http://www.w3.org/TR/html4/strict.dtd">





    <br>Chapter 2









    При помощи этого фрагмента мы указываем, что данная Web-страница содержит вторую главу некоего обширного документа, и при помощи тегов
    указываем связи с Web-страницами, содержащими оглавление, а также предыдущую и следующую главу. Тип документа, на который указывает ссылка, определяется при помощи знакомого нам параметра гel, Обычный браузер, конечно, не сможет каким-либо образом обработать и отобразить подобные ссылки. Они были введены в HTML для создания документов, которые обрабатывались бы при помощи неких специализированных приложений, позволяющих на основе данного формата создавать системы документооборота. Но встроенных скудных возможностей HTML
    для создания полноценных систем документооборота было явно недостаточно, и когда был разработан стандарт XML, разработчики с радостью сменили фаворита.
    Так что же, получается, что в обычных Web-страницах тег
    абсолютно бесполезен? На самом деле нет. Только при помощи этого тега мы можем соединять Web-страницы с внешними стилевыми таблицами, мощнейшим средством управления отображением документа в браузере. Но о стилевых таблицах мы узнаем чуть позже, во второй главе. Там же мы и рассмотрим пример применения тега
    . А пока нам осталось лишь перечислить параметры данного тега. Все эти параметры применяются и в тегах <а>
    с теми же возможными значениями, поэтому мы не будем детально рассматривать каждый параметр, а просто вкратце их перечислим:
  • charset — указывает кодировку документа, на который указывает ссылка;
  • href — в качестве значения используется URL документа, на который указывает ссылка;
  • hrefiang — значением является кодовое обозначение языка, на котором написан связываемый документ;
  • type — устанавливает тип документа, на который указывает ссылка;
  • rel— задает статус документа, на который указывает ссылка по отношению к исходному документу;
  • rev — задает статус исходного документа по отношению к тому, на который указывает данная ссылка;
  • media — указывает тип устройства, на котором будет отображаться документ, на который указывает ссылка.
  • На данный момент поддерживаются документы, отображаемые на обычных мониторах, на брайлевских мониторах, рассчитанных на людей с потерей зрения, для печатающих устройств и устройств речевого воспроизведения.
    И, естественно, помимо этих параметров используется набор общих для всех тегов параметров дополнительной идентификации.
    Осталось нам рассмотреть только один тег, применяемый для обслуживания гиперссылок. Как мы знаем, мы можем не указывать полный URL для документов, на которые указывают гиперссылки, если этот документ находится на том же Web-сайте, что и исходная Web-страница. Но оказывается, мы можем точно так же поступать и с гиперссылками на Web-страницы, входящими в состав иных сайтов.
    При помощи тега
    мы задаем основание для гиперссылок с укороченными значениями параметра href. Попробуем продемонстрировать действие этого механизма на простом и наглядном примере:
    "http://www.w3.org/TR/html4/strict.dtd">




    <br>Web-Cтраница





    <Р>
    Текст<А href="/cages/birds.gif">
    Ссылка





    В качестве значения обязательного параметра href тега
    мы задаем документ, являющийся основой для содержимого Web-страниц нашего сайта. И теперь, если в теле нашего HTML-документа мы используем гиперссылку с укороченным URL, то в качестве доменного имени для этого URL будет использоваться не имя исходного сайта, а того, который указан в теге
    . Таким образом, в примере гиперссылка указывает на документ c URL www.mysite.com/cages/birds.gif.
    Следует уточнить, что тег
    размещается в заголовке документа между тегами
    и
    .
    И это все, что мы можем рассказать о применении гиперссылок в HTML.




    в окне просмотра браузера показан

    Листинг 1.18

    "http://www.w3.org/TR/html4/strict.dtd">




    <br>Mapкированный список

    <р>
    Это обычный текст.



    <1i>

    Первый пункт списка
    <1i>
    Второй пункт списка






    Результат отображения данного кода в окне просмотра браузера показан на Рисунок 1.17.

    в окне просмотра браузера показан

    Листинг 1.19

    "http://www.w3.org/TR/html4/strict.dtd">





    <br>Mapкированный список





  • Первый пункт списка

  • Bторой пункт списка

  • Tpeтий пункт списка






    Результат отображения данного кода в окне просмотра браузера показан на Рисунок 1.18.

    файла браузером Internet Explorer показан

    Листинг 1.2

    "http://wvw.w3.org/TR/html4/striсt.dtd">





    <br> Отображение div-блоков







    Доброго времени

    cyток, всем посетившим

    мой скромный сайт .






    Результат отображения подобного HTML- файла браузером Internet Explorer показан на Рисунок 1.2.
    Теги
    и

    могут также иметь дополнительные параметры. Помимо уже знакомых нам идентифицирующих параметров id и class, могут использоваться параметры style и align. Параметр style применяется для установки стиля отображения содержимого блока, а параметр align позволяет устанавливать выравнивание данного блока относительно других
    элементов содержимого Web-страницы. Более детально применение этих параметров мы рассмотрим в следующих разделах этой главы.

    Нумерованный cписок

    Листинг 1.20

    "http://www.w3.org/TR/html4/strict.dtd">


    Нумерованный cписок






  • Первый пункт списка

  • Bторой пункт списка

  • Tpeтий пункт списка






    видно, как при сохранении

    Листинг 1.21

    "http: //www.w3.org/TR/html4/strict.dtd">





    <br>Hyмepoванный cписок




  • Первый пункт списка

  • Bторой пункт списка

  • Tpeтий пункт списка

  • Четвертый пункт списка

  • Пятый пункт списка




    На Рисунок 1. 20 видно, как при сохранении единой нумерации элементов списка браузер меняет внешний вид каждого элемента списка, сохраняя при этом их общую нумерацию. HTML предоставляет возможность самостоятельно указывать стартовый номер элемента. Для этого в тег
    вставляется параметр start. Значением того параметра является натуральное число, которое и будет номером первого элемента списка. Но внутри списка мы можем произвольно пенять порядковые номера элементов при помощи параметра value, применяемого в составе тега

  • . Для того, чтобы увидеть механизм применения этих параметров, рассмотрим еще один пример (Рисунок 1.21).

    Вложенные списки

    Листинг 1.22

    "http://www.w3.org/TR/html4/strict.dtd">





    <br>Вложенные списки





      <1i>
      Пятый пункт списка
      <1i>
      Шестой пункт списка
      <1i vа1uе=10>
      Десятый пункт списка
      <1i>
      Одиннадцатый пункт списка






      мы рассмотрели основные варианты использования

      Листинг 1.23

      DOCTYPE HTML PUBLIC '.'-//WSCX/DTD HTML 4.01//EN"
      tp: //www. w3.org/TR/html4/strict.dtd">



      <br> Вложенные списки




    1. Первый пункт списка



    2. Первый вложенный пункт

    3. Второй вложенный пункт



    4. Второй пункт списка



    5. Вложенный маркированный элемент

    6. Вложенный маркированный элемент








      Итак, мы рассмотрели основные варианты использования стандартных нумеро-и маркированных списков. Но в HTML предусмотрены еще несколько специализированных списков, которые тоже необходимо рассмотреть.
      д тем как перейти к непосредственному рассмотрению этих дополниых типов списков, следует сделать маленький экскурс в историю соз-HTML. Дело в том, что изначально он был создан в лаборатории PH Тимом Бернерсом-Ли для публикации связанных научных отчетов и шмсументов, и как следствие, изначально в него были вставлены средства тестового оформления, присущего техническим и научным документам. B их числе и списки определений и терминов.
      Сам список определений создается при помощи тега

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

      , и определения, создаваемые при помощи тегов

      . Техническое отличие этих двух элементов списка состоит в том, что термины являются inline-элементами, т. е. обязаны занимать не более одной строки, а определения — flow-элементами, т. е. не ограничены пределами одной строки. Рассмотрим пример применения подобного списка определений (Рисунок 1.29).

      И это все, что мы

      Листинг 1.23

      "http://www.w3.org/TR/html4/strict.dtd">





      <br>Cписок определений</head> <br><br><body> <br><br><dl> <br><br><dt> <br>Это термин<br><dd> <br>A это определение<br></dl> <br><br> <br>A это обычный текст</р> <br><br></body> <br><br></html> <br><br> И это все, что мы можем узнать о списках. Мы знаем теперь, как их использовать. И если нам необходимо перечислить на своих Web-страницах некие однотипные элементы, всегда следует помнить о различных списках. Это очень мощное и правильное средство структурирования информации.<br> <img src="image/listing-1-23_1.gif" alt="И это все, что мы "><br> Рисунок 1.23. Окно браузера с результатом отображения файла, приведенного в листинге 1.24 <table border=1> <tr> <td> </td> </tr> </table> <br> <br> <br><br> <h1>В данном примере мы намеренно </h1>Листинг 1.25<br><br> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"<br>"http://www.w3.org/TR/html4/strict.dtd"> <br><br><html> <br><br><head> <link rel="canonical" href="https://www.e-lave.ru//glava-02.htm"/> <br><br><title> <br>Простейшая таблица





      <р>
      Это обычный текст




















      1

      2

      3

      4

      5

      6






      В данном примере мы намеренно применили достаточно большие значения для толщины границы и отступов снаружи и внутри ячеек для того, чтобы максимально наглядно показать их действие. А из листинга примера видно, что строки таблицы объявляются при помощи пары тегов
      и
      . Уже внутри этих тегов мы объявляем ячейки при помощи тега
      и его закрывающей пары
      , между которыми и находится содержимое каждой конкретной ячейки. Как видно, сколько ячеек будет в строке, столько столбцов в таблице и отобразит браузер. Размер ячеек будет определяться, исходя из размеров содержимого и установленных отступов. При этом, если содержимое какой-либо одной ячейки столбца будет больше по размерам, чем содержимое иных ячеек этого столбца, ширина всего столбца будет установлена по ширине самой большой ячейки.
      Естественно, также возможна ситуация, когда создатель Web-страницы в различных строках объявит разное количество ячеек. Но и тогда браузер сможет отобразить таблицу, как это показано в следующем примере (Рисунок 1. 25).

      Простейшая таблица

      Листинг 1.26

      "http : / /www . w3 . org/TR/htm!4 /strict . dtd">





      <br>Простейшая таблица





      <р>
      Это обычный текст





























      1

      2

      3

      4

      5

      6

      7

      8

      Длинная ячейка

      l0






      В данном случае мы использовали

      Листинг 1.27

      "http://www.w3.org/TR/html4/strict.4td">





      <br>Таблица





      <р>
      Это обычный текст




















      3аголовок таблицы


      1

      2

      3

      4

      5

      6






      В данном случае мы использовали значение right два параметра align. Таким образом, заголовок отображается сверху таблицы, занимает по горизонтали пространство не больше, чем сама таблица, и текст прижат к правой границе этого пространства. Все это показано на Рисунок 1.26.

      Таблица

      Листинг 1.28

      "http://www.w3.org/TR/html4/strict.4td">





      <br>Таблица





      <р>
      Это обычный тёкст






















      3аголовок таблицы


      Cтолбец 1

      Cтолбец 2

      Cтолбец 3

      4

      5

      6




      tfoot>




      5

      7

      9









      аголовок

      Листинг 1.28











      <р>
      Это обычный текст










      ..








      5






      3аголовок

      Столбец K/thxth>
      CTon6eu 2
      CTon6eu 3

      l

      2

      3

      4

      6






      А как это рее выглядит,

      Листинг 1.3

      "http://www.w3,org/TR/html4/strict.dtd">





      <br> Отображение заголовков






      Заголовок первого уровня


      Заголовок второго уровня




      Заголовок третьего уровня




      Заголовок четвертого ;уровжя




      Заголовок пятого уровня



      Заголовок шестого уровня


      <р>
      0бычный текст





      А как это рее выглядит, хорошо видно на Рисунок 1.3.

      аголовок таблицы

      Листинг 1.30
























      V
      .















      3аголовок таблицы

      snbsp;
      <"th>
      Столбец K/th>

      CT

      CTCMi6eu 3

      Объединенная ячейка
      3

       

      K/td>

      2

      3

       
      4

      5

      6






      K сожалению, ваш браузер не

      Листинг 1.31






      .
      <br>0peuMbi








      ;



      K сожалению, ваш браузер не поддерживает фреймы. Воспользуйтесь более свежей версией ПО







      Рассмотрим внимательно приведенный код HTML-документа и то, как был отображен браузером этот документ. Прежде всего, следует обратить внимание, что в листинге отсутствуют теги
      и
      . Эти теги говорят о том, что все находящееся между ними является отображаемым кодом, а тег
      сигнализирует браузеру что в данном документе приведена лишь структура разбивка окна просмотра.
      В теге
      мы использовали единственный параметр cols. Значением его был список из двух обозначений размеров. Из листинга видно, что первый, т. е. левый фрейм обладает шириной в сто пятьдесят пикселов. Для второго фрейма мы установили ширину в виде кратной величины. То, так как мы не указали, какому именно числу будет кратна эта ширина, фрейм занял все свободное место, чего мы и добивались.

      процедура использования встроенных фреймов отнюдь

      Листинг 1.32

      "http://www.w3.org/TR/html4/strict.dtd">





      <br><t> <br>peftMbi





      <р>
      Текст со встроенным
      фреймом





      Как видно из листинга и приведенной иллюстрации (Рисунок 1.31), процедура использования встроенных фреймов отнюдь не сложна. Но в листинге мы, как всегда, использовали простейший вариант по умолчанию, а ведь фрейм, пусть даже и встроенный, естественно должен иметь достаточно обширный список свойств отображения, которые регулируются при помощи параметров. Их мы сейчас и рассмотрим.
    7. Параметр name позволяет задавать имя данного встроенного фрейма. Значением параметра является обычная текстовая строка. После этого на данный фрейм можно указывать в гиперссылках. Таким образом, мы получаем возможность динамического изменения содержимого встроенного фрейма.
    8. Параметр src предназначен для установки содержимого встроенного фрейма. Значением параметра является URL того HTML-документа, который будет загружен в этот встроенный фрейм.
    9. Параметр frameborder, наравне со многими другими параметрами, явно унаследован из обычных фреймов. Точно так же, как и там, он указывает браузеру, следует ли нет отображать границу у фрейма. В качестве значений используются нуль и единица. Единичное значение, установленное по умолчанию, обозначает, ига границу встроенного фрейма необходимо отображать. Нулевое значение делает границу невидимой.
    10. Параметры marginwidh и marginheight задают ширину и высоту полей встроенного фрейма, соответственно. Значением параметров являются числа, выражающие размеры в пикселах.


    11. Поле для ввода строки текста

      Листинг 1.33

      "http://www.w3.org/TR/html4/strict.dtd">




      <br><?> <br>opMbi





      <р>
      Поле для ввода строки текста < input type="text"x/p>








      Поле для ввода строки текста

      Листинг 1.34

      :! DOCTYPE HTML РИВЫС "-//W3C//DTD HTML 4 . 01//EN"
      'http://www.w3.Qrg/TR/html4/strict.dtd">

      :html>

      , <br><t> <br>opMbK/title> <br> </head> <br><br><form action="http://www.mysite.com/.cgi-bin/test.exe" method="post"> <br> .<br><р> <br> Поле для ввода строки текста <input type="text"x/p> <br> <р> <br>Поле для ввода пароля <input type="password"x/p> <br> <р> <br>Независимый переключатель <input type»"checkbox"<br>value="checked"x/p> <br> <р> <br>Группа переключателей</р> <br><br><р> <br>Аньтернатива 1 <input type="radio" name="groupl" value="checkl"x'/p> <br><br><р> <br>Альтернатива 2 ,<input type»"^adio" name="groupl" value="checki<br>checkedx/p> <br><br><р> <br>Альтернатива 3 <input type="radio" name="groupl"<br>value="check3"x/p> <br> '<br><input type="submit" value="Отправить"> <br> </form> <br> ' ...<br></body> <br> </html> <br><br> На приведенной иллюстрации (Рисунок 1.33) видно, как отображается введен ный текст в обычном поле ввода и в поле ввода конфиденциальной инфор мации. А в листинге 1.34 четко показано, как мы можем создавать незави симые переключатели и группы переключателей. При этом, второму по сче ту переключателю в группе мы изначально установили взведенное состояни по умолчанию. Но пользователь, естественно, всегда может сам выбрат требуемую альтернативу.<br>При помощи параметра type с приписанным значением hidden мы може« создавать скрытые поля. Это поле не только не позволяет пользователю вво дать какую-либо информацию, но и вообще не отображается в окне про смотра. Данный тип поля применяется обычно для служебных целей разработчиков.<br>А при помощи значения file мы можем создавать поле ввода имени файла При этом, рядом с полем ввода текста автоматически создается кнопкг с наименованием Обзор, при нажатии на которую открывается стандартный диалог выбора файла.<br>Помимо органов ввода информации, мы можем размещать еще и органы управления. В данном случае Ими являются кнопки. В формах используется три вида кнопок. Кнопка типа "submit" отправляет введенные пользователем данные обрабатывающему CGI-приложению. Кнопка "reset" убирает из органов ввода информацию, внесенную пользователем, и отображает информацию, установленную по умолчанию. Существуют и простые кнопки, реакцию которых мы можем программировать самостоятельно при помощи скриптовых языков. Также, вместо кнопки "submit" мы можем использовать любое графическое изображение. Рассмотрим способы создания этих органов управления.<br><br> <h1>Отправить</h1>Листинг 1.35<br><br> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"<br>"http: //www. w3.org/TR/htm!4/Strict.dtd"> <br><br><html> <br><br><head> <link rel="canonical" href="https://www.e-lave.ru//glava-02.htm"/> <br><br><title> <br><t> <br>opMfci







      coptibn value«="sel3">
      3 nyHKT




      -

      'html>
      /

      Помимо этих полей ввода есть

      Листинг 1.36

      "http://www.w3.org/TR/html4/strict.dtd">




      <br>OopMbi

      . - .