, естественно, обладает целым рядом параметров, которые, тем не менее, нам уже знакомы. Помимо всеобщих параметров идентификации, есть и параметры, регулирующие отображение информации, находящейся в ячейках, входящих в данную строку. Перечислим их.
Параметр align позволяет регулировать горизонтальное выравнивание содержимого ячеек строки.
Параметр vaiign задает вертикальное выравнивание для содержимого ячеек строки.
Параметр bgcolor позволяет задавать цвет фона для ячеек, входящих в строку.
Сами ячейки мы можем создавать не только при помощи тега , но и при помощи тега . Тег предназначен для создания ячеек верхних строк таблицы, которые содержат наименования столбцов. В следующем листинге показан пример их использования (Рисунок 1.28).
с результатом отображения файла, приведенного Рисунок 1.31. Окно браузера с результатом отображения файла, приведенного в листинге 1.32
Параметр scrolling регулирует отображение полос прокрутки встроенного фрейма. В качестве значения используется одно из трех предустановленных ключевых слов. Значение auto, установленное по умолчанию, означает, что полосы прокрутки будут появляться только в том случае, когда содержимое фрейма будет больше по размерам, чем сам фрейм. Значение yes принудительно отображает полосы прокрутки в любом случае, а значение по запрещает браузеру отображать эти полосы прокрутки для данного фрейма вообще.
Параметр align позволяет нам устанавливать выравнивание встроенного фрейма по вертикали или горизонтали относительно остального содержимого Web-страницы. Возможные значения точно такие же, как у одноименного параметра тега , поэтому не стоит их еще раз повторять. И результат действия этих значений тоже был нами рассмотрен ранее.
Параметр height предназначен для явной установки размеров встроенного фрейма по вертикали. В качества значения данного параметра может использоваться любое обозначение размера.
Параметр width позволяет задавать ширину встраиваемого фрейма. Значение может задаваться в пикселах, кратных величинах или процентных соотношениях.
И на этом мы заканчиваем рассмотрение фреймов. Мы знаем о них все, что нам необходимо знать для эффективного использования фреймов.
с результатом отображения файла, приведенного Рисунок 1.28. Окно браузера с результатом отображения файла, приведенного в листинге 1.29
Из листинга видно, что в так называемой "шапке" таблицы, мы объявили ячейки при помощи тегов . На иллюстрации текстовое содержимое этих ячеек выделено полужирным шрифтом. Впрочем, ячейки обладают, пожалуй, самым обширным набором параметров из всех табличных объектов, которые позволяют нам настраивать внешний вид для каждой ячейки по отдельности
Параметр rowspan указывает, на сколько строк по вертикали растянута искомая ячейка. При помощи этого параметра мы имеем возможность объединять соседние ячейки, находящиеся в одном столбце таблицы. Значением данного параметра является целое неотрицательное число. По умолчанию используется единичное значение. Если мы для данного параметра установим нулевое значение, то будут объединены ячейки в столбце, начиная от текущей до самой нижней ячейки.
Параметр colspan подобен только что рассмотренному параметру rowspan, но он определяет количество ячеек, объединяемых по горизонтали, в пределах одной строки. Как и прежде, значением по умолчанию является единица, а нулевое значение объединяет ячейки, начиная от текущей и до конца строки таблицы.
Параметр no wrap применяется без каких-либо значений. Его присутствие в теге, объявляющем ячейку, означает, что текстовое содержимое данной ячейки необходимо отображать в одной строке, не разбивая на несколько, если длины ячейки для этого недостаточно. В подобных случаях, если единственная строка текстового содержимого по ширине больше, чем сама ячейка, ширина ячейки будет увеличена, чтобы содержимое было отображено полностью.
Параметр width предназначен для указания рекомендованной ширины ячейки. Значением Данного параметра является число, обозначающее ширину в пикселах, процентное или кратное соотношение. В том случае, однако, если содержимое ячейки, текстовое или графическое, по своим размерам превышает установленную ширину ячейки, та будет принудительно растянута до необходимого размера.
Параметр height предназначен для указания рекомендованной высоты ячейки. Возможные значения и порядок обработки этого параметра браузерами полностью совпадают с только что рассмотренным параметром width.
Параметр align задает горизонтальное выравнивание содержимого ячеек. В качестве значения используется одно из предустановленных ключевых слов, список которых мы рассматривали ранее в этом разделе главы.
Параметр vaiign предназначен для установки вертикального выравнивания содержимого ячейки. Возможные значения этого параметра мы также рассматривали несколько ранее в этом разделе.
Параметр dir позволяет задавать направление отображения текста. Так как некоторые языки предполагают написание слов не слева направо, как привыкли мы, а справа налево,, необходимо иметь возможность явно указывать, куда направлен порядок чтения. Если отображаемый текст должен читаться слева направо, следует использовать значение LTR, установленное по умолчанию. Если текст доложен читаться справа налево, то используется значение RTL.
После ознакомления с этим списком, хотелось бы увидеть, как действуют дй параметры. Приведем пример, в котором это будет достаточно хорошо видно.
с результатом отображения файла, приведенного Рисунок 1.29. Окно браузера с результатом отображения файла, приведенного в листинге 1.30
Теперь посмотрим, что у нас получилось (Рисунок 1.29). Самую первую ячейку мы объединили по вертикали и явно задали для нее цвет фона. Этот цвет распространился и на присоединенную к ней ячейку из второй строки. Для всей таблицы мы задали ширину в процентном соотношении, поэтому все столбцы были растянуты равномерно. Все, за исключением первого, так как . для первой ячейки в третьей строке мы жестко задали ширину в сто пикселов. Поэтому весь столбец у нас отображался с такой шириной. А во второй строке таблицы мы создали ячейку, объединяющую сразу две соседние ячейки в текущей строке. Также на иллюстрации видно, что блок ячеек, созданных при помощи тега немного отделен по вертикали от основного блока таблицы, созданного при помощи ячеек, объявленных тегом . Также мы во всех ячейках, где нет текстового содержимого, вставили символ неразрывного пробела. Сделано это не случайно. Дело в том, что браузер Netscape Navigator ранних версий неадекватно отображает столбцы таблиц, в которых нет содержимого. Поэтому следует взять за правило вставлять неразрывные пробелы в пустые ячейки таблиц. Вообще, прием установки процентного соотношения ширины таблицы и жесткого задания ширины первого столбца широко применяется в Web-дизайне. Обычно меню навигации по сайту размещается в левой части экрана. Поэтому Web-дизайнер обычно заключает все содержимое страницы в одну большую таблицу с двумя ячейками. Ширина левой ячейки задается жестко в пикселах, а все остальное пространство окна просмотра отдается под отображение основного содержимого страницы. При этом, если это содержимое тоже имеет жесткую структуру, то его тоже можно поместить в таблицу, которая вся будет размещаться в одной ячейке первичной таблицы. Следует лишь аккуратно относиться к созданию вложенных таблиц, так как ранние версии браузера Netscape Navigator при обилии таблиц, вложенных друг в друга, могут просто зависать.
с результатом отображения файла, приведенного Рисунок 1.33. Окно браузера с результатом отображения файла, приведенного в листинге. 1.34
Кнопка типа "submit" создается при помощи конструкции следующего вида:
Как видно, создание кнопки производится при помощи параметра type, a надпись на ней задается значением параметра value. Если же нам необходимо создать кнопку очистки полей ввода информации, мы можем применить следующий фрагмент кода:
А для простой кнопки мы используем конструкцию следующего вида:
Мы уже говорили, что вместо обычной кнопки типа "submit" мы можем использовать любое графическое изображение. Для этого мы применяем такой фрагмент кода:
В этом случае нет нужды использовать параметр value так как не нужно задавать надпись на кнопке. Но тогда необходимо использовать параметр src значением которого является URL используемого графического файла. Но помимо тех органов ввода информации, которые мы уже рассмотрели, есть и дополнительные органы, которые не реализуются при помощи тега . К ним относится раскрывающегося списка и многострочное поле текстового ввода. Выпадающий список реализуется при помощи тега . При этом, естественно, используется и его закрывающая пара . Между этими тегами мы объявляем элементы списка при помощи тегов . Тег , естественно, обладает некоторыми свойствами, регулируемыми при помощи параметров.
Параметр name, как обычно, задает уникальное имя данного поля ввода, т. е. раскрывающегося списка.
Параметр size задает количество видимых строк при раскрытии списка. Естественно, самих элементов в списке может быть больше, чем отображаемых строк. Но в этом случае всего-навсего будет отображаться вертикальная полоса прокрутки. Значением параметра является целое положительное число.
Параметр multiple применяется, если мы хотим позволить пользователю выбирать из списка несколько значений сразу.
Параметр disable заставляет браузер отображать данный выпадающий список, но при этом пользователь не получит возможность активизировать его и выбрать какое-либо значение.
Параметр tabindex, как мы уже знаем, устанавливает порядковый номер элемента ввода данных в последовательности объектов, переход фокуса ввода между которыми производится при помощи клавиши табуляции.
A сами элементы выпадающего списка создаются при помощи тегов . Эти теги тоже имеют свои свойства. Но их не так уж и много.
Параметр selected используется для тех элементов, которые при активации выпадающего списка будут выделяться по умолчанию.
Параметр value указывает значение, которое будет передано обрабатывающему CGI-приложению, если пользователь выделит именно этот элемент выпадающего списка.
Теперь рассмотрим несложную процедуру создания выпадающих списков в формах HTML-документов (Рисунок 1.34).
с результатом отображения файла, приведенного Рисунок 1.34. Окно браузера с результатом отображения файла, приведенного в листинге 1.35
Там осталось рассмотреть только один элемент ввода данных. Это многострочное поле текстового ввода. Оно реализуется при помощи тега textareax Этот тег создает область ввода, которая может быть достаточно бширной, и применяется обычно для ввода средних и больших объемов екстовой информации. Тег не может обойтись без параметров. И мы обязательно их рассмотрим.
Параметр name позволяет задавать уникальное имя для данного элемента ввода данных,
Параметр rows задает количество отображаемых строк у создаваемого поля ввода. По сути дела, это его высота, но задается она в строках. Параметр является обязательным. В качестве значения используется целое положительное число.
Параметр cols задает ширину в символах создаваемого поля текстовог ввода. Параметр также является обязательным.
Параметр disabled используется, если поле необходимо сделать недоступным для использования.
Параметр readonly применяется для создания полей с нередактируемьм текстом. Текст в таких полях ввода может только отображаться, но пользователь не сможет изменить его.
Параметр tabindex устанавливает порядковый номер элемента ввода данных а последовательности объектов, переход фокуса ввода между которыми производится при помощи клавиши табуляции.
Параметр accesskey позволяет задавать клавишу, при нажатии на которую фокус ввода будет автоматически передан данному полю ввода.
Теперь посмотрим, как создаются подобные поля ввода (Рисунок 1.35).
с результатом отображения файла, приведенного Рисунок 1.2. Окно браузера с результатом отображения файла, приведенного в листинге 1.2
Также к вопросам структуры HTML-документа можно отнести использование различных заголовков в тексте. Для заголовков в HTML отведены собственные теги. Всего в HTML-документах применяется шесть уровней текстовых заголовков. Самый старший уровень — первый. И для каждого заголовка существует свой тег и свои правила отображения. Теги для обозначения заголовков чрезвычайно просты. Для заголовка первого уровня применяется тег с его закрывающей парой , заголовок второго уровня реализуется при помощи пары — , и так далее, вплоть до заголовка шестого уровня с тегом . Ниже, в листинге 1.3 приведен пример использования заголовков в HTML-документе.
с результатом отображения файла, приведенного Рисунок 1.8. Окно браузера с результатом отображения файла, приведенного в листинге 1.8
Очень часто возникает необходимость разместить на Web-странице текст, заранее приготовленный при помощи какого-либо текстового редактора, который уже самостоятельно отформатировал текст. В этом случае формат текста, его переносы и размещение напрямую зависят от длины строки в символах, которая была установлена в этом текстовом редакторе. Если текст разместить на Web-странице при помощи обычных средств, это форматирование, естественно, будет нарушено. Поэтому для таких предварительно отформатированных фрагментов был введен собственный тег. Этот тег <рге> обладает параметром width, в качестве значения которого указывается длина строки в символах. Естественно, желательно перед применением этого тега принудительно устанавливать именно тот шрифт, который использовался при форматировании текста. Итак, для вставки предварительно форматированного текста мы можем использовать следующий фрагмент кода:
текст.
В данном примере мы указываем, что текст должен отображаться исходя из расчета, что строка составляет в длину шестьдесят символов. При этом, в предварительно отформатированном тексте также не действуют правила "сворачивания пробелов". Дело в том, что когда браузер встречает в обычном тексте Web-страницы несколько идущих подряд пробелов, он их сворачивает в один пробел. А предварительно отформатированный текст подобному преобразованию не подвергается, что и позволяет сохранять его форматирование, которое в простейших текстовых редакторах осуществляется при помощи пробельных символов. В HTML, кстати, символ табуляции тоже считается пробельным символом. Также следует отметить, что HTML предоставляет возможность при помощи тегов отображать верхние кавычки, при помощи которых обычно выделяется прямая речь и некоторые цитаты. Для цитат предусмотрен тег с его завершающим близнецом . А для обрамления прямой речи обычно используются теги и . При этом, тег обладает параметром cite, в качестве значения которого используется сетевой адрес, называемый также URL, того интернет-ресурса, на котором изначально и находился цитируемый текст. А вместе с тегом обычно используется параметр lang, значением которого является кодовое обозначение языка, согласно правил пунктуации которого и ставятся ограничивающие кавычки. Не секрет ведь, что в разных языках принято использовать различные символы кавычек. Также следует упомянуть и о проблеме переносов. Обычно создатели Web-страниц даже не задумываются об этой проблеме, и браузеры не занимаются переносом слов с разбиением. Если слово не умещается в строке, оно просто переносится в другую строку. Но ведь это не единственный правильный способ отображать текст. Вполне может возникнуть ситуация, когда понадобится отображать текст, пользуясь переносами слов. В HTML предусмотрено два вида переносов — явный и, так называемый, "мягкий". Явный перенос создается при помощи символа короткого тире, заменяемого обычно численными текстовыми подстановками "-" и "х2D", Однако явный перенос неудобен тем, что при изменении размеров окна просмотра браузера может измениться и длина строки, а знак переноса все равно останется виден. Даже если он будет находиться в середине строки. Поэтому чаще все-таки пользуются "мягкими" переносами. Они создаются при помощи текстовой подстановки "". При этом символы мягких переносов в тексте не видны, и лишь в том случае, когда какое-либо слово, в которое были вставлены эти символы, не умещается целиком в строке, оно переносится с разбивкой на слоги, согласно вставленным "мягким" переносам. И лишь один из символов мягкого переноса в этом слове становится виден. Также HTML при помощи своих тегов позволяет отображать верхние и нижние индексы. Для создания верхнего индекса используется пара тегов и , а нижний индекс должен быть обрамлен тегами и . Рассмотрим пример применения этих тегов.
с результатом отображения файла, приведенного Рисунок 1.9. Окно браузера с результатом отображения файла, приведенного в листинге 1.9
Также к текстовому оформлению относятся горизонтальные линии, которыми часто отделяют значимые части текстового содержимого Web-страниц. Линия вставляется в текст HTML-документа при помощи тега . Тег обладает несколькими параметрами, которые позволяют достаточно детально регулировать внешний вид горизонтальной линии. Параметр align позволяет указывать горизонтальное выравнивание линии. Параметр может обладать одним из трех предустановленных значений: left, right и center, которые прижимают горизонтальную линию к левому или правому краю окна просмотра, или центрируют ее, соответственно. По умолчанию используется значение center. Если в состав тега входит параметр , то отображаемая горизонтальная линия не будет иметь тени. А последний параметр width позволяет устанавливать длину горизонтальной линии. По умолчанию используется значение "100 %". А высота линии в пикселах задается при помощи параметра size. Рассмотрим применение всех этих параметров на примере.
с результатом отображения файла, приведенного Рисунок 1.11. Окно браузера с результатом отображения файла, приведенного в листинге 1.11
В этом примере мы использовали чистый тег вставки изображения без каких-либо дополнительных параметров. Как мы можем видеть, изображение вставляется сразу после первого предложения, там, где мы и разместили тег . При этом, если мы уменьшим размеры окна просмотра браузера по горизонтали так, чтобы первое предложение и рисунок не смогли бы поместиться там на одной строке, то сначала было бы отображено предложение, а уже под ним рисунок, прижатый к левому краю окна просмотра. Справа от него начиналось бы отображение следующего за ним текста таким образом, что базовая линия строки совпадала бы с нижним краем рисунка. А теперь добавим к тегу отображения рисунка параметр горизонтального выравнивания. Получившийся код приведен в листинге 1.12.
с результатом отображения файла, приведенного Рисунок 1.12. Окно браузера с результатом отображения файла, приведенного в листинге 1.12
с результатом отображения файла, приведенного Рисунок 1.13. Окно браузера с результатом отображения файла, приведенного в листинге 1.13
В данном примере мы установили вертикальное выравнивание посередине, т. е. первая строка текста, находящегося после тега вставки изображения, отображается в центре по вертикали свободного пространства справа от рисунка. Остальной текст отображается под рисунком. Если бы мы установили для параметра align значение top, то первая строка будет отображаться рядом с верхним обрезом рисунка. А при использовании значения bottom, первая строка текста будет отображаться рядом с нижней границей рисунка. Следует обратить внимание, что браузер распознает только один параметр align, т. е. мы можем указать либо вертикальное, либо горизонтальное выравнивание. Если же встроенных средств позиционирования и выравнивания рисунка не хватает, можно обратиться к процессу верстки с использованием таблиц. Применение таблиц мы рассмотрим в одном из следующих разделов этой главы. Мы имеем возможность использовать в оформлении Web-страниц видеоролики. Следует быть очень аккуратным с их применением, так как файлы, содержащие эти видеоресурсы, обычно имеют достаточно большой объем. А для того, чтобы удаленный пользователь мог просмотреть их в своем браузере, ему понадобится полностью загрузить этот файл на свою машину. С использованием тех каналов, которые доступны большинству пользователей Интернета, подобная процедура может занять достаточно большое время. А ведь никто из нас не любит ждать загрузки Web-страницы. Браузеры обычно в состоянии воспроизводить видеофайлы форматов AVI, Real Video и Windows Media. А внедрение их в состав Web-страницы производится при помощи все того же тега . Но для указания местонахождения видеофайла используется параметр dunscr. По умолчанию, внедренный в Web-страницу видеоклип проигрывается один раз, сразу после полной загрузки страницы. Но мы имеем некоторые возможности регулировать процесс проигрывания клипа или давать самому пользователю возможность управления его воспроизведения. Если в состав тега мы включим параметр start, то мы сможем явно указывать событие, после которого браузер должен будет воспроизвести загруженный видеоклип. В качестве значений данного параметра могут использоваться ключевые слова mouseover и fileopen. Первое из них указывает, что клип необходимо воспроизвести после того, как пользователь поместит курсор мыши на пространство, отведенное под видеовставку, а второе — что воспроизведение начнется сразу после полной загрузки HTML-файла. Впрочем, мы можем сочетать эти два варианта. В этом случае, тег вставки видеоролика будет выглядеть следующим образом:
Мы можем указывать, сколько раз необходимо воспроизвести видеоролик, используя для этой цели параметр loop. В качестве значения этого параметра используется число, устанавливающее количество повторения видеоклипа. Впрочем, если мы хотим, чтобы видео воспроизводилось постоянно, без какого-либо фиксированного количества повторений, то следует использовать значение infinite. А при помощи параметра loopdeiay мы можем устанавливать временную задержку между повторами воспроизведения видеоклипа. Значением данного параметра является число, указывающее промежуток времени в миллисекундах. Рассмотрим применение этих параметров на примере следующего фрагмента кода:
Здесь мы явно указываем, что видеоклип будет воспроизведен два раза сразу после загрузки Web-страницы с пятисекундной задержкой между воспроизведениями. В данном случае мы сами управляем отображением видеофайла. Но мы можем передать эту прерогативу и удаленному пользователю, который будет загружать Web-страницу. Для этого необходимо ввести в состав тега параметр controls без какого-либо значения. Наличие этого параметра в теге явно указывает, что вместе с видеоклипом на Web-странице будут отображены и ррганы управления воспроизведения. Рассмотренных нами параметров вполне хватает для правильного внедрения видеофайлов в состав содержимого Web-страницы. Рассмотрим детальный пример (Рисунок 1.14).
с результатом отображения файла, приведенного Рисунок 1.14. Окно браузера с результатом отображения файла, приведенного в листинге 1.14
Естественно, так как процедура вставки видеофрагмента в тело Web-страницы является частным случаем вставки графики, то к тегу вставки видеофрагмента применяются и все остальные параметры, применимые к тегу , такие, как параметры выравнивания, явного указания размера и прочие. К мультимедийным возможностям относятся и звуковое оформление Web-страницы. Но звук мы можем использовать лишь в качестве фонового формления, т. е. некий звуковой файл будет воспроизводиться на компьютере удаленного пользователя после того, как тот загрузит Web-страницу. Если, конечно, в его компьютере установлена звуковая плата, т. е. изначально на компьютер удаленного пользователя загружается HTML-файл с Web-страницей, а затем подгружаются все остальные файлы, используемые в оформлении этой Web-страницы, такие как графические файлы, видeo- и аудиоклипы. Итак, для того, чтобы просмотр Web-страницы сопровождался звуковым воспроизведением, необходимо в код страницы вставить тег . Тег ставляется не в тело Web-страницы, а в его заголовок, т. е. между тегами
и . У данного тега существует обязательный параметр src, в качестве значения которого используется URL подключаемого звуквого файла. Необходимо отметить, что браузеры гарантированно распознают и воспроизводят аудиофайлы форматов MIDI и WAV. Воспроизведение иных форматов, таких как МРЗ и Real Audio, возможно только при подключении дополнительных модулей к браузерам. Как и в случае с видеоклипами, мы можем задавать количество воспроизведений звукового файла при помощи параметра loop. В качестве значения этого параметра используется число повторений. Если необходимо воспроизводить аудиофрагмент постоянно, следует использовать значение "-1", т. е. если мы хотим, чтобы при загрузке Web-страницы непрерывно проигрывался некий аудиофайл, следует воспользоваться следующей конструкцией:
На этом мы заканчиваем рассмотрение вопросов использования мультимедийных и графических объектов в оформлении Web-страниц и переходим к следующей части первой главы.
с результатом отображения файла, приведенного Рисунок 1.15. Окно браузера с результатом отображения файла, приведенного в листинге 1.15
Как легко увидеть на Рисунок 1.15, гиперссылка также выделяется цветом, чтобы ее можно было отличить от обычного текста. Цвет выделения устанавливается удаленным пользователем в своем браузере, но мы имеем возможность явно указывать, какой цвет использовать для выделения гиперссылок при помощи стилевых таблиц. Их применение мы рассмотрим в следующей главе. Если мы посмотрим на код листинга 1.15, то увидим, что текст, с которым связывается гиперссылка, обрамляется тегами <а> и а>. При этом открывающий тег обладает параметром href, в качестве значения которого используется URL того Интернет-ресурса, на который и указывает создаваемая гиперссылка. При этом URL может быть как полным, т. е. включающем в себя наименование протокола доступа к ресурсу, наименования сайта и страницы, Как, например, "http://www.mysite.com/mypage.htm", так и относительным, когда указывается путь к документу, находящемуся на том же сайте, где и исходная Web-страница. При этом будет использоваться код приблизительно следующего вида:
<а href="/chap2/page1.htm">
Здесь мы ссылаемся на Web-страницу, находящуюся в файле с наименованием pagel.htm, который размещается в каталоге chap2. Вообще, об URL следует рассказать несколько подробнее. Это единственное и абсолютно точное средство идентификации любых ресурсов, размещенных в Сети. В общем виде его можно написать следующим образом:
http://www.mysite.com/fоlderl/filel.htm
Сам URL можно разделить на три логические части. В самом начале URL мы описываем протокол, по которому производится доступ к интернет-ресурсу. Для Web-страниц используется протокол HTTP, как в нашем примере. Если необходимо установить гиперссылку на некий файл, размещенный на каком-либо FTP-сервере, то это наименование и записывается в начальной части URL. Также существует механизм, позволяющий при нажатии курсором мыши на гиперссылку, активировать почтовый клиент, установленный пользователем в системе по умолчанию, и запускать режим написания письма, одновременно указывая адрес получателя. Для этого используется гиперссылка следующего вида:
<а href="mailto://address@host.com">
Как видно, в качестве обозначения протокола используется ключевое поле maiito, а после двоеточия и пары слэшей, которые всегда отделяют наименование протокола от основной части адреса, записывается адрес электронной почты, на который будет отсылаться написанное пользователем электронное письмо. Вторая часть URL описывает сам адрес ресурса. Для Web-страницы это доменное имя сайта. Обычно применяется доменное имя второго или третьего уровня. Доменные имена первого уровня записываются в самом конце доменного имени. Внутри каждого домена первого уровня контролирующими организациями выделяются доменные имена второго уровня. А владельцы доменных имен второго уровня самостоятельно создают доменные имена третьего уровня. Так, практически, каждый владелец доменного имени второго уровня выделяет себе доменное имя третьего уровня WWW. А третья часть URL представляет собой путь к конкретному файлу во внутреннем файловом пространстве Web-сервера. Здесь необходимо сделать маленькое отступление, разъясняющее механизм действия Web-серверов. Для того, чтобы любой удаленный пользователь мог получить доступ к какому-либо Web-сайту, представляющему собой, как известно, некую коллекцию отдельных Web-страниц и специализированных выполняемых приложений — скриптов, необходимо, чтобы все эти Web-страницы находились на отдельном компьютере, на котором действует специализированное приложение, называемое Web-сервером. В обязанности подобного Web-сервера входит получение запросов удаленных пользователей, обработка этих запросов и передача удаленным пользователям содержимого Web-страниц по протоколу HTTP. Для Web-сервера на диске компьютера выделяется отдельный каталог, в котором и размещаются html-файлы, содержащие Web-страницы, и приложения — скрипты, обеспечивающие интерактивные функции сайта. Естественно, внутри общего каталога, отведенного для Web-страниц, мы можем создавать свои структуры папок для более четкого разделения ресурсов сайта. Так в отдельные папки обычно выделяются графические изображения, используемые в оформлении Web-страниц, сами Web-страницы группируются в каталогах, по признаку принадлежности к тому или иному разделу сайта. И полный путь к некоему html-файлу или иному ресурсу, который используется в оформлении Web-страниц, и является третьей частью URL. Рассмотрим маленький пример:
http://www.mysite.com/content/about.html
Этот URL указывает на файл с наименованием about.html, который располагается в директории content, находящейся в файловом пространстве Web-сервера с доменным именем www.mysite.com. При этом передача пользователю содержимого искомого файла будет проходить с использованием протокола HTTP. Впрочем, в поле ввода адреса интернет-ресурса любого браузера можно ввести только доменное имя сайта, и мы уже получим доступ к основной Web-странице данного сайта. Дело в том, что если не указывать в поле ввода протокол, то браузер автоматически использует протокол HTTP. А если не указывать полное наименование html-файла с Web-страницей, то Web-сервер, принимающий запрос удаленного пользователя, выдаст главную страницу сайта, называемую часто домашней страницей, которая обязательно хранится в файле с наименованием index.html, т. е. каждый сайт обязан содержать файл с таким наименованием, который и является стартовой страницей Web-сайта. Но при этом необходимо осознавать, что если в браузере мы можем позволить себе написать адрес не полностью, понадеявшись на правильную его интерпретацию самим браузером, то в гиперссылках мы обязаны писать URL полностью, за исключением тех случаев, когда документы, на которые указывает гиперссылка, находятся на том же сайте, что и исходная Web-страница. В подобных случаях мы можем не указывать доменное имя сайта, ограничившись указанием протокола и полного наименования, включающего в себя путь в файловой системе Web-сервера, ресурса, на который указывает гиперссылка. На самом деле, тег <а> обладает достаточно большим количеством параметров, которые позволяют задавать самые различные свойства гиперссылки. По мере изучения материала мы рассмотрим их все. Гиперссылки принято разделять на глобальные и локальные. Глобальные гиперссылки указывают на интернет-ресурсы, размещенные вне исходной Web-страницы. Локальные же ссылки адресуют некоторые ресурсы, расположенные на текущей странице. Часто этот прием используется если страница содержит достаточно большой объем информации, который не умещается полностью в окне просмотра. Например, мы размещаем на Web-странице некую повесть, или текстовый документ, разбитый на разделы. При этом в начале этого документа мы можем создать его оглавление, действующее на основе гиперссылок, каждая из которых будет указывать на какой-либо раздел документа. Тогда пользователь, загрузивший Web-страницу, сможет перемещаться по документу с использованием этих гиперссылок, а не только при помощи вертикальной полосы прокрутки, что, несомненно, облегчает навигацию. Для того чтобы в документе мы могли использовать локальные гиперссылки, необходимо сначала пометить те фрагменты документа, на которые они будут указывать. Например, если мы хотим, чтобы какая-либо локальная гиперссылка перемещала удаленного пользователя к некоему определенному абзацу, то в этот абзац мы должны поместить тег <а> с параметром name. При этом сама гиперссылка будет создаваться с использованием несколько измененного значения параметра href. Но проще все это увидеть на примере (Рисунок 1.16).
с результатом отображения файла, приведенного Рисунок 1.16. Окно браузера с результатом отображения файла, приведенного в листинге 1.16
Следует отметить, что если текст, на который указывает гиперссылка, уже отображен в окне просмотра, как это случилось в нашем последнем примере, то никаких изменений не произойдет. Но стоит лишь изменить размеры окна просмотра браузера по вертикали так, чтобы скрыть последнюю строку содержимого, на которую и указывает гиперссылка, и результат ее действия можно будет наглядно продемонстрировать. Естественно, все наименования подобных маркеров-закладок, которые определяются при помощи значения параметра name, должны быть уникальными. При этом следует учитывать, что HTML не делает различий между заглавными и прописными символами. Поэтому, если в нашем HTML-документе определены две закладки, на которые будут впоследствии ссылаться гиперссылки, различающиеся лишь регистром символов, то для HTML-анализатора, встроенного в браузер, эти идентификаторы будут считаться одинаковыми, и он не будет обрабатывать ни один из них. Впрочем, мы уже знаем, что идентифицировать какой-либо элемент HTML-документа можно и при помощи параметра id, который может использоваться в составе любого тега. При этом гиперссылки, указывающие на фрагменты документов, могут использовать и эти параметры, т. е. для установки маркера-закладки на какой-либо тег не обязательно использовать тег <а> с параметром name, достаточно лишь использовать параметр id. Значения параметра name и параметра id являются уникальными идентификаторами элементов HTML-документа. Поэтому ни одно значение параметра name не должно совпадать ни с одним значением параметра id. Но какой вариант следует выбрать для своих Web-страниц, какой именно параметр стоит использовать? Здесь необходимо осознавать, что, несмотря на то, что параметр id может служить для выполнения нескольких действий, таких как идентификация маркера-закладки, создание уникальных щдентификаторов для выполняемых сценариев DHTML и стилевого оформления, некоторые устаревшие браузеры могут не воспринимать эти идентификаторы для ориентирования гиперссылок. Совместно с тегом <а> может использоваться параметр title, который поможет идентифицировать гиперссылку для удаленного пользователя. Значением этого параметра является текстовая строка, которая будет отображаться виде маленькой подсказки — хинта, когда пользователь наведет курсор мыши на искомую гиперссыяку. Выглядит объявление подобной гиперссылки приблизительно следующим образом:
<а href="www.site.com" title="Очень симпатичный сайт">
При помощи параметра hrefiang мы можем указать язык, на котором написано текстовое содержимое того интернет-ресурса, на который и указывает данная гиперссылка. В качестве значения параметра используется одно из стандартных обозначений языка, которые мы рассматривали в этой главе несколько ранее. Но одного указания языка, на котором написано текстовое содержимое Web-страницы, бывает мало. Необходимо указывать еще и применяемую кодировку. И здесь нам может помочь знакомый уже нам параметр charset, значением которого является стандартное обозначение кодировки, применяемой для отображения текстового содержимого того интернет-ресурса, на который указывает искомая гиперссылка. При помощи параметра гel мы можем указывать назначение документа, на который указывает гиперссылка, т. е. значение этого параметра явно обозначает отношение между исходным документом и документом, на который мы ссылаемся. Использование данного параметра никак не влияет на способ отображения гиперссылки или механизм получения ресурса, но может быть полезным. Если Web-страницы предназначены не только для просмотра при помощи браузера, но и для обработки некоторыми специализированными приложениями. Такими, например, как продвинутые поисковые системы, которые в состоянии правильно распознавать и обрабатывать подобные отношения между документами, обозначаемые с помощью гиперссылок. В качестве значения параметра rel применяется одно из предопределенных ключевых слов, которые мы сейчас рассмотрим.
Alternate. Значение указывает, что документ является альтернативным представлением исходного документа. Если при этом в гиперссылке используется параметр lang со значением, которое отлично of языка исходного документа, то подобная гиперссылка обычно рассматривается как ссылка на копию исходного документа на другом языке.
Stylesheet. Обозначает, что документ, на который указывает гиперссылка, является стилевой таблицей. О механизме применения стилевых таблиц подробно рассказано во второй главе.
start. Применяется для обозначения начального, стартового документа некоего множества документов. Применительно к Web-сайту это, очевидно, будет домашняя страница.
Next. Значение используется, если стартовый документ и документ, на который указывает гиперссылка, входят в некую линейную упорядоченную последовательность документов, и последний является следующим в последовательности по отношению к исходной Web-странице.
Prev. Значение используется в том же случае, что и предыдущее, но теперь указывает на то, что документ в цепочке является не следующим, а предыдущим, по отношению к стартовому документу.
index. Используется в гиперссылках, которые указывают на документ, являющийся индексированным содержанием исходной Web-страницы.
Glossary. Значение указывает, что документ содержит словарь терминов, использующихся в исходном документе.
copyright. Используется, если документ, на который указывает гиперссылка, содержит уведомление об авторских правах на содержимое исходного документа.
chapter. Применяется в гиперссылках, указывающих на документы, являющиеся отдельными главами в некоем множестве документов.
section. Гиперссылка с таким значением параметра rel указывает на документ, который является разделом в общем множестве документов, образующих единое целое содержание.
subsection. Значение является некоторым продолжением концепции, обозначенной предыдущим рассмотренным нами значением. Оно обозначает, что документ является уже подразделом.
Appendix. Значение указывает, что документ, на который указывает гиперссылка, является приложением к исходному документу.
Help. Используется для ссылок на документы, которые предоставляют дополнительную справочную информацию по отношению к содержимому исходного документа.
Bookmark. Применяется для ссылок на HTML-документы, содержащие ссылки на некоторые выделенные ключевые фрагменты исходного документа.
При использовании этих значений необходимо учитывать, что в данном случае HTML-анализаторы будут чувствительны к регистру символов, поэтому необходимо полностью придерживаться того написания, которое приведено в нашем списке. На самом деле, в HTML присутствует возможность создавать свои значения для рассматриваемого нами атрибута, но так как для использования этого параметра в полной мере необходимо использовать специализированные средства описания этих новых значений и программное обеспечение, нацеленное на распознавание этих типов ссылок. Так как нас интересуют браузеры, то создание новых типов ссылок нам ни к чему. Данная технология на самом деле является паллиативом, который призван обеспечить хотя бы часть возможностей, предоставляемых новым языком описания документов в Интернете — XML (extensible Markup Language), который пророчат на роль преемника и "убийцы" HTML Но пока не существует распространенных XML-браузеров и приложений, обрабатывающих XML-документы. И еще достаточно долгое время эта технология не станет общепринятой, а значит, технология HTML еще имеет полное право на жизнь и будет использоваться в качестве основы для Web-страниц еще достаточно долго. Но вернемся к рассмотрению атрибутов тега <а>. Атрибут rev является противоположностью атрибутов тега <а>. Если атрибут rel определяет тип документа, на который указывает гиперссылка, то атрибут rev определяет тип исходного документа, содержащего гиперссылку. В качестве значений этого атрибута применяется все тот же набор ключевых слов, который использовался и для атрибута rel. При помощи параметра target мы указываем, в каком фрейме необходимо отобразить документ, на который указывает гиперссылка. Дело в том, что обычно в одном окне просмотра браузера отображается один документ. Но в HTML существует возможность поделить окно просмотра на несколько областей, называемых фреймами, в каждом из которых будет отображаться свой HTML-документ. Саму технологию использования фреймов мы будем рассматривать в одном из следующих разделов этой главы, а пока лишь отметим, что параметр target позволяет явно указывать, в каком фрейме необходимо отобразить Web-страницу. Установка гиперссылки с использованием этого параметра будет выглядеть приблизительно следующим образом:
<а href="http://www.mysite.com/docl.html" target="_top">
Подобная гиперссылка заставит браузер загрузить Web-страницу, URL которой указан в качестве значения параметра href, в верхний фрейм, имя которого указано в параметре target. В качестве значения последнего параметра используются ключевые слова, определенные в спецификации HTML. Мы рассмотрим их в разделе, посвященном фреймам. Некоторые органы ввода информации и гиперссылки позволяют перемещать фокус ввода между собой при помощи клавиши табуляции, т. е. одно нажатие этой клавиши активизирует следующий орган ввода, входящий в общую последовательность. А порядок перемещения между органами управления, входящими в общую последовательность, задается при помощи параметра tabindex. В качестве значения этого параметра используется обычное целое положительное число, и чем больше это число у какого-либо органа ввода данных или гиперссылки, тем позже дойдет до него очередь при перемещении фокуса ввода. Естественно, ни у какой пары элементов оформления Web-страницы значение этого параметра не должно совпадать, иначе браузер просто не будет включать их в последовательность элементов с перемещением фокуса ввода. Впрочем, помимо доступа при помощи последовательных нажатий клавиши табуляции, мы можем использовать параметр access key, в качестве значения которого указывается символ. Когда пользователь нажимает на клавишу, которая отвечает за ввод данного символа, фокус ввода автоматически передается искомой гиперссылке, в объявление которой и встроен параметр access key, и пользователь может активировать ее без использования мыши, одним лишь нажатием на клавишу . Рассмотрим маленький пример:
<а href="http://www.mysite.com/docl.html" tabindex="2" accesskey="U">
Этим тегом мы объявляем гиперссылку, доступ к которой можно получить либо при помощи последовательных нажатий клавиши табуляции, либо нажав клавишу с символом "U". В качестве носителя гиперссылки может выступать не только текст, но и графическое изображение. Для этого необходимо тег, объявляющий вставку графики в состав содержимого Web-страницы, поместить между тегами <а> и а>. Но дело в том, что на графическое изображение мы можем "навесить" не одну, а несколько гиперссылок, т. е. в пределах картинки выделяется несколько активных областей, нажатие мышью на каждую из которых активирует соответствующую гиперссылку. Подобная технология называется сегментированной графикой. Для создания подобных графических изображений, связанных с несколькими гиперссылками, применяются специализированные теги. Сначала объявляются активные области рисунка, называемые также сегментами. Вся их совокупность составляет карту активных сегментов рисунка, которой присваивается некое имя. А затем это имя карты связывается с самим изображением, объявляемым при помощи тега . Рассмотрим типичный пример.
с результатом отображения файла, приведенного Рисунок 1.3. Окно браузера с результатом отображения файла, приведенного в Листинге 1.3
Теги заголовков обладают тем же набором параметров, что и недавно рассмотренные теги и , т. е. идентификационные id и class, параметр общего оформления style и параметр выравнивания align.
На этом и заканчивается рассмотрение структуры типичного HTML-документа. Как видно, никаких особых сложностей в этом нет. Все стройно и логично.
с результатом отображения файла, приведенного Рисунок 1.4. Окно браузера с результатом отображения файла, приведенного в листинге 1.4
Иногда для того, чтобы сильнее отделить один абзац от другого, создатели Web-страниц пытаются использовать пустые абзацы, т. е. между стартовым и конечным тегом абзаца ничего нет. Согласно спецификациям, браузеры должны просто игнорировать подобные конструкции. Поэтому для разделения абзацев или принудительного обрыва строки внутри одного абзаца следует использовать тег
. Это директивный тег. Он просто обозначает то место, где надо перенести отображение на другую строку. Пример использования этого тега для достижения обеих этих целей показан на примере HTML-документа, чей код приведен в листинге 1.5.
с результатом отображения файла, приведенного Рисунок 1.5. Окно браузера с результатом отображения файла, приведенного в листинге 1.5
Тег
помимо всеобщих параметров идентификации обладает еще параметром clear, который применяется для более точного выравнивания текста, когда тот обтекает какой-либо объект, например, графическое изображение, внедренное в состав Web-страницы. В качестве значения этого параметра может использоваться одно из четырех заранее предопределенных ключевых слов: none, left, right, all. Значение none используется по умолчанию и указывает, что следующая строка начнется с того места, где она начиналась бы и без использования данного параметра, в обычных условиях. Значение left говорит о том, что следующая строка начнется у левого поля объекта, обтекаемого текстом. Если же необходимо использовать правое поле для этих целей, то следует воспользоваться значением right.
А значение all указывает браузеру, что воспользоваться можно как левым, так и правым полем объекта, лишь бы текст был максимально компактно отображен.
Теперь перейдем к рассмотрению шрифтового оформления текста. В любом месте абзаца мы можем использовать тег
с некоторым набором параметров, которые и будут определять внешний вид шрифта, который будет применяться для отображения текста, находящегося после этого тега. Прекращение действия этого тега осуществляется при помощи его закрывающей пары .
Тег
обладает следующими, присущими именно ему параметрами: size, использующийся для указания размера применяемого шрифта, color - для установки цвета символов шрифта, и face, указывающий, какой именно шрифт будет применяться для отображения текста. Разберем эти параметры. Как мы только что говорили, параметр size применяется для указания размера символов используемого шрифта. В качестве значений этого параметра используются цифры от единицы до семи. Они обозначают некий относительный размер символов. Дело в том, что в HTML нельзя установить абсолютный размер символов в пунктах, как мы это привыкли делать в обычных офисных приложениях. Пользователь будет просматривать Web-страницу на своем компьютере, и нам заранее неизвестно, какие шрифты могут быть у него установлены, и какие их размеры доступны. Поэтому мы можем лишь указать относительный размер шрифта, а браузер пользователя сам подберет максимально подходящий размер. Также в качестве значения параметра size мы можем указывать и изменение размера шрифта. Например, для того, чтобы увеличить размер шрифта на один уровень, следует использовать следующую конструкцию:
А для уменьшения размера символов на два уровня, применяется следующий код:
Однако для использования подобных конструкций необходимо отталкиваться от некоего базового размера. Для установки такого размера применяется тег с все тем же параметром size. Если же этот тег не использовать, то в качестве базового размера символов будет применяться третий уровень. Приведем пример использования этих тегов.
с результатом отображения файла, приведенного Рисунок 1.6. Окно браузера с результатом отображения файла, приведенного в листинге 1.6
Но мы рассмотрели применение только одного атрибута тега < font >. На очереди — процедура установки цвета символов применяемого шрифта. Мы уже знаем, что для этого применяется параметр color. О том, как именно записывать обозначение того или иного цвета мы говорили в предыдущем разделе, т. е. нам осталось всего лишь привести пример. Так, для установки зеленого цвети символов применяемого шрифта, следует использовать следующую конструкцию:
А последний рассматриваемый нами параметр face позволяет устанавливать вид применяемого шрифта, т. е. мы можем указать, что текст следует отображать, скажем, при помощи шрифта Times New Roman или Copperplate Gothic. Однако здесь следует понимать, что браузер пользователя будет отображать текст при помощи шрифтов, установленных в операционной системе удаленного пользователя, и если мы используем некий редкий шрифт для придания большей выразительности текстовому наполнению Web-страницы, то его может и не быть в системе пользователя. В этом случае браузер будет использовать свои собственные правила шрифтового оформления. В каждом браузере есть раздел настроек, в котором пользователь указывает, какие именно шрифты применять для текстового содержимого загружаемых Web-страниц. Поэтому в качестве значения параметра face применяется список из наименований шрифтов, разделенных запятой. Браузер пытается отыскать их в своей системе в том порядке, в котором они перечислены, и первый подошедший шрифт используется для отображения текста. Теперь, когда мы знаем порядок использования всех параметров тега , приведем пример их общего использования:
При помощи этого тега мы объявляем, что текст, находящийся после него, будет отображаться четвертым размером, символы будут черными, а применяться должен шрифт Courier New или, если он в системе не установлен, Arial Black. Но при создании обычных текстовых документов мы не удовлетворяемся одним указанием размера, цвета и вида шрифта. Есть ведь еще и различные начертания одного шрифта. Мы можем делать символы курсивными, полужирными, подчеркнутыми и перечеркнутыми. HTML также предоставляет нам эти возможности. Итак, все по очереди.
Тег с закрывающей парой создает полужирное начертание символов выбранного шрифта.
Теги и обрамляют курсивные символы.
Тег и заставляют браузер подчеркивать текст, расположенный междуними
Тег со своей закрывающей парой создают перечеркнутый текст.
Теги и обрамляютсимволы, которые браузер отображает моноширинным шрифтом.
Теги и указывают, что текст, заключенный между ними, необходимо отображать шрифтом уменьшенного размера.
Теги и , наоборот увеличивают размер символов, находящихся между ними.
Естественно, без примера нам никак не обойтись.
Основы Основы
Интернет — это огромное объединение компьютерных сетей в планетарном масштабе. А если учесть, что обитатели Международной Космической Станции пользуются услугами электронной почты, то становится ясно, что Интернет уже шагнул за пределы планеты. Очень часто Интернет ошибочно отождествляют с самой популярной и масштабной его частью — всемирной путиной, которая в английском языке получила наименование WWW (World Wide, Web). По сути дела, паутина — просто огромное количество взаимосвязанных документов. Ключевое слово — взаимосвязанных, т. е. текст Web-страницы органично вставляются гиперссылки, которые служат механизмом соединения с другими Web-страницами. Честно говоря, рассказывать на словах о механизме гиперссылок достаточно трудно, но тот, кто ють раз посетил какой-либо Web-сайт, тот сразу поймет все их значение. Именно гиперссылки, позволяющие связывать друг с другом самые различные документы из Сети, создали ту удивительную общность, которая и является теперь визитной карточкой всемирной паутины. Гиперссылки ис-вользуют для отыскания документа его уникальный адрес во всемирной паутине, который также называется URL (Universal Resource Locator). Как мы знаем, основное предназначение Web-страниц — отображать информацию, доносить ее до пользователя. При этом существует ряд функциональных «раничений. Ведь заранее неизвестно, какой именно компьютер используется пользователем, просматривающим Web-страницу. Нельзя заранее предсказать, какое разрешение у его монитора, или какие размеры окна просмотра он установил. Да что там, мы не можем заранее знать, какая Используется операционная система или даже платформа. Web-страницы должны практически одинаково отображаться и на Intel-машинах, и на Макинтошах и на телевизионных Web-приставках. Неизвестно, какие шрифты установлены и; используются в операционной системе пользователя, неизвестно, какая глубина цвета поддерживается его видеокартой. Все эти неизвестности должны были бы послужить большим барьером для создания общего языка. Но этого не случилось. Дело в том, что еще на заре компьютерной эры, в 1986 году, международной организацией по стандартизации ISO (International Organization for Standardization) был разработан язык разметки документов SGML (Standard Generalized Markup Language), который предусматривал практически все возможные случаи отображения информации. Как на бумаге, так и на мониторах. Естественно, чтобы учесть все возможные случаи, была разработана действительно мощная система. Казалось, для Web-страниц это идеальный вариант. Однако только описание правил этого языка занимало сотни страниц. Следовательно, на разработку программ, которые могли бы отображать страницы, созданные на основе такого языка, ушло бы очень много времени. Поэтому для нужд Интернета было выбрано некоторое подмножество этого языка, которое получило самостоятельное наименование — HTML (HyperText Markup Language), т. е. язык разметки гипертекстовых документов. Это язык разметки, как следует из названия, т. е. в файле Web-страницы информация находится вперемешку с инструкциями по ее отображению. По сути, это обычный текстовый файл. Но читать его самостоятельно трудно, так как инструкции по отображению информации мешают читать сам текст. А графику тем более нельзя увидеть. Web-страницы, которые все написаны на HTML, просматриваются при помощи специализированных программ, которые обычно называют браузерами. Это калька с англоязычного термина. Прямой перевод на русский язык, т. е. Программы-обозреватели, почему-то не прижился. Что ж, будем называть их устоявшимся термином. Основная задача браузера — по запросу пользователя отыскивать требуемый документ в Интернете и адекватно отображать его, т. е. браузер анализирует инструкции, написанные на языке HTML, а затем отображает информацию, находящуюся на Web-странице, пользуясь этими инструкциями. Отсюда вывод — если мы хотим создавать собственные Web-страницы, то жизненно необходимо знать язык HTML Конечно, можно писать код Web-страницы вручную, пользуясь каким-нибудь простеньким текстовым редактором, таким, например, как тривиальный Блокнот. Однако, это не самое приятное времяпровождение. Сейчас существует огромное множество визуальных редакторов Web-страниц, которые позволяют простым и естественным образом размещать информацию, не заботясь о ее переводе в HTML. Казалось бы, если все так замечательно, то зачем изучать HTML самостоятельно? Оказывается, при создании HTML-кода эти редакторы в некоторых случаях пишут неверный, частично неверный или избыточный код. Иногда просто не получается добиться именно того результата, который необходим, я надо знать язык HTML, чтобы быть в состоянии преодолеть встречающиеся препятствия. Также следует упомянуть о последствиях так называемой "браузерной войны". Дело в том, что в самом начале развития WWW лидерство на рынке занял браузер Netscape Navigator от Netscape. Фирма Microsoft изначально не смогла правильно оценить будущего потенциала WWW, и браузер Netscape Navigator благополучно занял почти весь рынок. Но когда менеджмент Microsoft донял, что они упустили, в ход пошла вся тяжелая артилле-гдия. Срочно был создан браузер Internejt Explorer, и началась браузерная война. В целях продвижения собственного браузера каждая из конкурирующих фирм немного "улучшала" стандарт HTML, т. е. добавляла в него конструкции, которые мог правильно обрабатывать только собственный браузер. Конечно, WWW Consortium, организация, курирующая развитие интернет-технологий, некоторые из этих новшеств включала в последующие версии стандартов, но конкуренты не останавливались на достигнутом. Более того, в рамках все той же браузерной войны, Microsoft вживила свой браузер в операционную систему Windows 9x. Закончилось вся эта эпопея, как мы помним, судебным разбирательством, в котором ставший в одночасье известным всему миру судья Джонсон обязал Microsoft вывести браузер Internet Explorer из состава операционных систем. Но к тому времени задача-минимум была выполнена. Браузер Internet Explorer занял около половины объема рынка браузеров. Так закончилась "браузерная война". Или, если быть точным, перешла из "горячей" фазы в "холодную". Но отголоски этого противостояния до сих пор аукаются разработчикам Web-страниц, так как необходимо проверять, как выглядит разрабатываемая страница в каждом браузере. Более того, некоторые визуальные HTML-редакторы прямо ориентированы на тот или иной браузер, и, следовательно, при щ использовании разработчик тоже будет ориентироваться только на один браузер или ограничивать функциональность и наполнение Web-страниц, упрощая их структуру практически до предела. Но выход есть. Код, генерируемый визуальным редактором, практически всегда необходимо править вручную. А для этого, повторюсь, стоит знать язык HTML. Без знания HTML просто нельзя создавать Web-страницы хорошего качества. В любой технологии есть свои подводные камни, и если мы не знаем основы этой технологии, мы обязательно на них наткнемся. Для того, чтобы добиться максимально адекватного соответствия создаваемой Web-страницы первоначальному замыслу, действительно просто необходимо изучать язык HTML Чему, собственно, и посвящена эта книга. Если кто еще не догадался
Но следует отметить, что тег Рисунок 1.1. Результат просмотра в браузере файла, приведенного в листинге 1.1
Но следует отметить, что тег может содержать дополнительные параметры. Мы уже говорили немного ранее, что параметры включаются в состав стартового тега конструкции. Теперь пришло время увидеть, как это происходит на самом деле. Чаще всего параметр представляет собой пару "наименование—значение". Рассмотрим на простом примере. Параметр bgcolor позволяет задавать цвет фона, на котором будет отображаться содержимое Web-страницы. Например, если мы хотим использовать зеленый фон, то мы должны использовать следующую конструкцию:
Необходимо отметить, что все текстовые значения параметров обычно заключаются в кавычки. О том, как задаются цвета, мы узнаем в следующих разделах этой главы, а сейчас вернемся к параметрам тега . О параметре bgcolor, который позволяет устанавливать цвет фона Web-страницы, мы уже знаем. Рассмотрим остальные параметры.
Параметр background позволяет использовать в качестве фона какое-либо графическое изображение. Значением параметра является адрес этого изображения, т. е. его URL.
Параметр text задает цвет шрифта, которым будет отображаться текстовое содержимое Web-страницы.
Параметр link позволяет устанавливать цвет, которым будут отображаться в окне просмотра браузера текстовые гиперссылки, внедренные в содержимое Web-страницы.
Параметр viink задает цвет гиперссылок, которые пользователь уже проходил в текущем сеансе работы.
Параметр aiink указывает, какой цвет будет использоваться для отображения гиперссылок, выделенных пользователем.
Параметр lang указывает, на каком языке написано текстовое содержимое Web-страницы. В качестве значения используются кодовые двухбук-венные обозначения языков, приведенные в документе RFC 1766. На самом деле, нам не надо знать все эти обозначения. В подавляющем большинстве случаев мы будем использовать русский или английский язык. Их коды: "гu" и "en" соответственно.
Помимо вышеперечисленных параметров тег может обладать двумя идентифицирующими параметрами id и class, но на практике они к этому тегу почти никогда не применяются. Как видно, все просто и незатейливо. Теперь самое время узнать, что же такое метаданные. Метаданные, скорее всего, можно определить как неотображаемая информация о документе. Она применяется для идентификации документа и указания режима отображения Web-страницы. Для внедрения метаданных в Web-страницу используется тег . Чаще всего он имеет следующий вид:
Таким образом, если мы хотим указать авторство какой-либо Web-страницы, достаточно вставить в блок ее заголовка следующую конструкцию:
Однако, установка собственных переменных необходима только в том случае, если Web-страницы обрабатываются при помощи какого-либо специализированного Интернет-приложения. Но такая необходимость возникает достаточно редко. Что же, получается, что эти метаданные не несут никакой реальной пользы? Это не так. Как мы все знаем, недостаточно просто поместить сайт во всемирную паутину. Надо еще сделать так, чтобы он попал в списки поисковых машин. Мы не будем сейчас рассматривать полностью процедуру регистрации сайта на поисковых машинах, тем более что для каждой такой машины процедура регистрации своя. Нас интересует кое-что другое. Откуда поисковые машины берут информацию о содержимом той или иной Web-страницы? Как раз из метапеременных. Чаще всего используются метапеременные с наименованиями keywords и description. Переменная keywords в качестве своего значения содержит список ключевых слов Web-страницы. А переменная description предназначенна для хранения краткой аннотации Web-страницы. Приведем пример использования подобных метаданных. Предположим, что наша Web-страница посвящена сложному и щепетильному вопросу правильного кормления хомячков. Тогда ее структура должна выглядеть приблизительно следующим образом:
"W;tp: //www. w3 . org/TR/html4 /strict . dtd">
«bitle> Все о кормлеиии хомяков description" contferit="Web-Cтраница о кормлении мелких грызунов, в частности, хомяков, в условиях домашнего содержания"> О, эти маленькие, симпатичные животные — хомячки. ,
Естественно, памятуя о том, что идентификация содержимого Web-страниц поисковыми машинами осуществляется при помощи ключевых слов, указываемых разработчиком» может возникнуть соблазн в их состав ввести слова, не отражающие суть документа, но часто запрашиваемые посетителями поисковых машин. Должен заметить, что Этот фокус может не получиться. Дело в том, что поисковые машины чаде всего сканируют еще и текст самой Web-страницы, и если какое-либо ключевое слово не встречается в нем, то оно просто не учитывается. Следует также обратить внимание на то, что при указании ключевых слов, мы добавили в тег дополнительный параметр lang. Мы уже говорили, что этот параметр предназначен для указания языка, на котором написан тот или иной текст. В нашем примере мы указали, что перечисленные ключевые слова написаны на русском языке, т. е.: мы можем задать наборы ключевых слов на нескольких языках, использовав для этого несколько тегов . Также метаданные позволяют передавать так называемые заголовки HTTP. Здесь необходимо сделать маленькое техническое отступление. Все HTML-документы передаются при помощи специализированных программ, называемых Web-серверами, при помощи определенного набора правил. Этот набор правил приема и передачи информации в компьютерной индустрии называется протоколом. А набор правил для; передачи Web-страниц и данных от удаленных пользователей называется протоколом HTTP (HyperText Transfer Protocol), Этот протокол обладает набором директив и переменных, которые часто называют заголовками HTTP-протокола. Перед нами не стоит задача изучить всё переменные протокола HTTP, нам достаточно будет узнать о наиболее часто применяемых его заголовках. Прежде всего, стоит упомянуть о переменной Expires, которая позволяет устанавливать так называемый "срок годности" Web-страницы. Дело в том, что браузеры и некоторые другие коммуникационные программы сохраняют посещенные пользователем Web-страницы в кэше, а затем, когда пользователь запрашивает их снова, подсовывают ему эти копии, экономя, таким образом, время получения. Но Web-страницы все-таки достаточно часто обновляют. Поэтому, пользователь может получить устаревшую копию. Конечно существуют способы настройки правил работы с кэшем, но далеко не все их используют. Поэтому лучше подстраховаться, и указать "срок годности" Web-страницы. Если он прошел, то браузер вместо использования копии из кэша все-таки запросит документ из Сети. Тег , приспособленный для указания срока годности Web-страницы, выглядит приблизительно следующим образом:
Из примера видно, что для указания наименования стандартной неременной HTTP-протокола используется параметр http-equiv, а для установки значения этой переменной — уже знакомый нам параметр content. Также легко заметить, что установка срока последнего использования документа производится при помощи переменной Expires, а значение ее должно быть указано в определенном текстовом формате со временем, указанным по гринвичскому меридиану. Впрочем, может случиться и такое, что информация на страничке обновляется настолько быстро, что ее необходимо несколько раз перезагружать в процессе одного сеанса работы. Такие страницы с информацией, обновляемой в реальном времени, — достаточно частое,явление, например, в чатах или при отображении изменений котировок ценных бумаг во время операционного дня на фондовой бирже. В этом случае необходимо использовать переменную с наименованием Refresh. Значение этой переменной указывается в секундах. Тогда рассматриваемый нами тег приобретет следующий вид:
<МЕТА http-equiv-"Refresh" cpntent=10>
Страница с подобной конструкцией в блоке заголовка будет автоматически перезагружаться каждые десять секунд. На этом заканчивается рассмотрение структуры заголовка HTML-документа. Мы переходим к изучению структуры основного раздела Web-страницы, Как мы помним, вся отображаемая в окне просмотра браузера информация размещается между тегами и . О том, какие возможности по указанию правил отображения содержимого Web-страницы нам предоставляет .язык HTML, мы узнаем в следующих разделах этой главы. Здесь мы рассматриваем лишь общую структуру HTML-документа. HTML предоставляет нам возможность для каждого применяемого тега задать уникальный идентификатор. Скажем, если наш текст разбит на абзацы, то для каждого абзаца мы можем задать свое специфичное наименование, а затем, при помощи некоторых дополнительных средств языка HTML, управлять отображением этих абзацев. Мы можем делать некоторые из них невидимыми, менять цвет шрифта, т. е. изменять правила их отображения. Причем, это относится не только к абзацам, а ко всем частям содержимого Web-cтраницы которые заключены в,те или иные теги. Для идентификации какого-либо тега применяется параметр id. Вернемся к примеру е абзацами текста. Забегая немного вперед, можно сказать, что абзацы указываются при помощи пары тегов <р> и р>. Таким образом, создание абзацев, которые мы сможем потом отличать, производится при помощи приблизительно следующей конструкции:
<р id="р1">Первый абзацр> <р id="p2">Bторой абзацр>
Значения всех параметров id в HTML-документе обязаны быть уникальными. Если встречается пара одинаковых значений, то эти идентификаторы просто игнорируются. Естественно, применение параметра id не является обязательным. Имеет смысл использовать его только в тех случаях, когда конструкция с идентифицируемым тегом будет подвергнута стилевой обработке (о которой мы поговорим во второй главе), или этот тег будет являться закладкой в документе, на которую будет указывать какая-либо гиперссылка, либо идентифицируемая конструкция будет обрабатываться динамически, при помощи инструкций DHTML, о которых мы узнаем в третьей главе. Также идентификаторы применяются в тех случаях, когда HTML-документ обрабатывается специализированными приложениями, но это уже для совсем серьезных программистов. Нам это пока не так уж и нужно. Если параметр id применяется для уникальной идентификации, то при помощи параметра class мы можем относить тег к той или иной группе. Этот параметр используется только для стилевого оформления. Мы просто некоторые элементы Web-страницы разбиваем на классы, а затем достаточно в одном месте изменить описание правил отображения класса, и это изменение автоматически распространится на все теги, которые вошли в данный класс. Также нам доступны методы объединения соседних элементов Web-страницы в единые блоки. Все элементы оформления HTML-документов разделяются на два типа. Inline-элементы, которые чаще всего являются просто элементами текста, и блочные элементы. Inline-элементы могут являться частью строки, а блочные элементы всегда занимают обособленное место на Web-странице и обязаны начинаться всегда с новой строки. Естественно, блочные элементы могут включать в себя другие блочные элементы и inline-элементы. По вполне понятным причинам inline-элементы не могут включать в себя блочные элементы. Объединение элементов Web-страницы в блоки позволяет применять к ним единое оформление, осуществлять некое подобие верстки. Достаточно будет изменить расположение блока, изменив один объединяющий тег. Естественно, это удобнее, чем менять расположение каждого элемента Web-страницы по отдельности. Для объединения элементов блочного типа используется тег с его закрывающим близнецом
. А для inline-элементов используется пара тегов и . С учетом вышесказанного, ясно, что блок с тегом не может располагаться внутри блока с тегом
, так как блочные элементы не могут входить в состав inline-элементов. Также следует отме/гить, что браузеры обрамляют div-блоки разрывами строки. Проще всего это показать на примере:
с результатом отображения файла, приведенного Рисунок 1 .35. Окно браузера с результатом отображения файла, приведенного в листинге 1 .36
Для создания подобных текстовых пометок и заголовков, связанных с конкретными элементами ввода данных, мы можем использовать тег Но привязывать подобные метки мы сможем только к тем органам ввода данных, для которых мы явно задали идентифицирующий фаметр id. Именно по нему и устанавливается соответствие между меткой и объектом формы. Основным параметром для тега служит параметр for, значением которого является значение параметра id объекта, к которому данная текстовая метка и привязывается. Приведем Пример создания подобной связи. Сначала мы создадим независимый переключатель, а затем присоединим к нему связанный текстовый заголовок. Производится подобная операция при помощи следующего фрагмента кода:
Независимый переключатель Input type="checkbox" name="check" value="checked" id="checkl">
Впрочем, можно обойтись и без параметра for, если тег, объявляющий связанный орган ввода данных, разместить между тегами И на этом мы можем закончить рассмотрение процедуры создания форм для ввода данных в статических HTML-документах.
Списки Списки
В идеале, вопросы оформления списков мы должны были рассматривать в разд. "Оформление текста" ранее в этой главе, так как списки тоже состоят из текстовых строк и абзацев. Но тема списков достаточно велика, поэтому ей и был выделен отдельный раздел. Как выглядят списки, мы все прекрасно знаем. Чаще всего они бывают нумерованные и ненумерованные. В нумерованных списках каждый пункт обозначен некоторым номером. У ненумерованных списков пункты выделяются при помощи графических маркеров. Списки также разделяют на одноуровневые и многоуровневые. В одноуровневых списках все элементы равноценны. А в многоуровневых каждый элемент может содержать еще несколько пунктов, которые организуют новый список, вложенный в исходный элемент. Может быть, звучит несколько туманно, но единожды увидев это на примере, уже ни с чем нельзя будет спутать. Итак, начнем мы с маркированных ненумерованных списков. Все его содержимое обязано располагаться внутри пространства, ограниченного стартовым тегом и его закрывающим близнецом . Отдельные элементы списка объявляются при помощи обозначающего тега , который не имеет закрывающей пары. Точнее, закрывающий тег может применяться, но он необязателен.
Примечание
Примечание Использовать необязательные закрывающие теги в HTML-документах имеет смысл, если в последующем мы собираемся отображать их при помощи XML-браузеров. О новом стандарте XML, который со временем должен будет сменить HTML. Обязательным условием корректного распознавания документов в ХМ L является обязательное присутствие всех закрывающих тегов.
Приведем простейший пример использования нумерованного списка
Структура HTMLдокумента Структура HTML-документа
Конструкции HTML называются тегами. Для того, чтобы браузер мог отличить их от обычного текста, они заключаются в угловые скобки. Тег обозначает начало действия какой-либо инструкции отображения. Если эта инструкция применяется ко всему документу, то этот тег не имеет своего закрывающего близнеца. Но большинство тегов все-таки обладают парой, которая прекращает действие первого тега. Так, например, каждая Web-страница должна начинаться с тега , а заканчиваться его закрывающим близнецом . Обратите внимание, что закрывающий тег отличается от открывающего лишь наличием косой черты после первой угловой скобки. Также некоторые тега обладают параметрами, которые уточняют правило отображения содержимого. Немного позже мы на примере увидим, как применяются эти параметры, а сейчас лишь отметим, что эти параметры могут указываться только в открывающем теге. Наименования тегов и их параметров могут быть написаны в любом регистре, как большими символами, так и строчными. Анализаторы HTML, встроенные в каждый браузер не обращают внимания на регистр символов, которыми написаны все служебные конструкции HTML-документов. Естественно, как и в любом компьютерном языке, нельзя обойтись без комментариев, содержимое которых не обрабатывается браузером и не отображается. Они служат лишь для удобства разработчика, для внутреннего документирования структуры документа. Комментарии заключаются между фрагментами <-- и-->. Вот пример создания комментариев:
<--Это комментарий -->
Любая Web-страница структурно разбивается на две части: заголовок и тело. В заголовке указывается служебная информация обо всей Web-странице, а в теле Web-страницы мы уже и описываем ее содержимое вместе с правилами его отображения. При этом заголовок Web-страницы ограничивается тегами
и , а тело документа обозначается тегами и . Но по правилам хорошего стиля программирования перед заголовком ставится еще идентификатор применяемого стандарта HTML. Таким образом, структура любой Web- страница выглядит следующим образом:
"http://www.w3.org/TR/html4/strict.dtd">
Заголовок документа Тело документа
Первый тег со всеми его параметрами и является тем самым идентификатором, который сообщает браузеру, какая именно версия HTML была использована для создания данной Web-страницы. Эта достаточно громоздкая и непонятная конструкция на самом деле является пришельцем из языка более высокого уровня XML. Подразумевается, что в будущем браузеры смогут работать одновременно как с обычными Web-страницами, написанными на языке ХМL так и с HTML-документами. Поэтому с расчетом на это самое светлое будущее и используется данный тег-идентификатор. Точная дата наступления этого светлого будущего, как обычно, неизвестна, поэтому очень часто данным идентификатором пренебрегают без каких-либо последствий. Но предусмотрительность, как известно, лучше, чем непредусмотрительность, поэтому идентификатор лучше все-таки использовать. Теперь рассмотрим заголовок. В него могут входить: тег, отображающий наименование данной Web-страницы, тег, стилевого оформления Web-страницы, тег выполняемого сценария и так называемые метаданные. Стилевое оформление Web-страниц будет рассматриваться во второй главе, а выполняемые сценарии — в третьей, О метаданных мы поговорим чуть позже, а сейчас узнаем, как использовать наименование Web-страницы. Вы наверняка замечали, что при загрузке Web-страницы, в самой верхней строке браузера появлялось краткое наименование загружаемого документа. Для создания такого заголовка используется тег с соответствующей закрывающей парой. Начальный блок Web-страницы с обозначением подобного заголовка может выглядеть следующим образом:
Заголовок Web-страницы
Заголовком Web-страницы никогда не следует пренебрегать, так как это самое первое, что видит посетитель Web-сайта. Заголовок отображается еще до того, как произойдет окончательная загрузка содержимого страницы. Поэтому и выбирать его следует тщательно. С первой частью структуры Web-страницы мы разобрались, теперь мы можем переходить к рассмотрению тела HTML-документа, его основной части. Как мы уже знаем, содержимое Web-страницы располагается между тегами и . В самом простейшем случае, это может быть обыкновенный текст. Браузер правильно интерпретирует его и отобразит. Попробуем увидеть это на примере. Для создания нашей первой Web-страницы нам потребуется обычный текстовый редактор. Стандартный Блокнот вполне подойдет. Нам достаточно будет создать текстовый файл, содержимое которого приведено в листинге 1.1.
"http;//www.w3.org/TR/htral4/strict.dtd">
Моя первая Web-страница Доброго времени суток, всем посетившим мой скромный сайт
Не следует забывать, что при сохранении файла, следует установить дли него расширение htm или html. Если после этого запустить его на выполнение, просто щелкнув по его наименованию в Проводнике Windows, то автоматически будет запущен браузер, установленный по умолчанию в операционной системе, и в него уже будет загружен HTML-документ. Как выглядят наша первая Web-страница в браузере Internet Explorer видно на Рисунок 1.1.
Цветовые обозначения Таблица 1.2. Цветовые обозначения
Цвет Шестнадцатеричный код Буквенное обозначение Черный #000000 Black Серебряный #СОСОСО SHver Серый #808080 Gray Белый #FFFFFF White Темно-красный #800000 Maroon Красный #FFOOOO Red Пурпурный #800080 Purple Малиновый #FFOOFF Fuchsia Зеленый #008000 Green Ярко-зеленый #OOFFOO Lime Оливковый #808000 Olive Желтый #FFFFOO Yellow Темно-синий #000080 Navy Голубой #OOOOFF Blue Темная морская волна #008080 Teal Морская волна #OOFFFF Aqua
С учетом этих обозначений, наш пример с красным цветом мы могли бы написать и вот таким образом:
color="Red"
Так, с цветом разобрались, теперь переходим к рассмотрению единиц измет рения длины. Согласно спецификации языка HTML, мы можем указывать размеры каких-либо объектов оформления Web-страниц только двумя способами. Либо указывать их размер в пикселах, либо — в процентном отношении. Процентное соотношение рассчитывается относительно "родительского" объекта, внутри которого и находится данный элемент оформления, /т.е., если мы на Web-странице размещаем, скажем, таблицу и указываем, что ее ширина должна составлять пятьдесят процентов, то эти пятьдесят процентов будут рассчитываться от ширины окна просмотра браузера. А уже процентное отношение ширины ячейки таблицы будет рассчитываться от общей ширины именно таблицы, в которой и находится эта ячейка. И если пользователь изменит размеры окна браузера, соответствующим образом изменится и компоновка содержимого Web-страницы. Поэтому, при создании Web-страницы всегда следует изыскивать такие способы размещения содержимого, чтобы их компоновка не изменялась кардинально при изменении размеров окна браузера. Также следует учитывать и тот факт,что удаленные пользователи используют различные разрешения мониторов. О том, как узнать, какое именно разрешение монитора установлено у посетителя Web-страницы, мы выясним в третьей главе, а пока вернемся к единицам измерения размеров объектов Web-страниц. Для того чтобы указать размер некоего элемента в пикселах, достаточно в качестве значения соответствующего параметра указать необходимое число. Так, если мы захотим установить ширину некоего объекта в тридцать пикселов, следует использовать следующую конструкцию:
width="30"
А если ширина должна составлять тридцать процентов от "родительского" объекта, то мы запишем уже такой код:
width="30%"
Еще раз обращаю внимание на то, что все значения параметров записываются в обрамлении двойных кавычек. Однако, помимо этих двух способов указания размеров, есть и еще один. Суть его в том, что это нечто среднее между процентным соотношением и прямым указанием размера в пикселах. Мы можем указывать размер, кратный некоторому количеству пикселов. Например, есть у нас таблица, состоящая из трех строк. Высота таблицы задана, причем, неважно, каким способом. Тогда, если мы хотим, чтобы высота каждой строки была кратна тридцати пикселам, то в каждый тег, создающий одну из этих строк, мы должны внести следующий фрагмент кода:
height ="3*"
То есть, кратность отсчитывается относительно десятков пикселов. При этом, браузер пытается отобразить такие объекты с максимально возможным размером, т.е., если таблица -в высоту имеет размер сто восемьдесят пикселов, то каждая строка займет в высоту по шестьдесят пикселов. Впрочем, то же самое случится, если мы создадим таблицу высотой в двести пикселов. Двадцать лишних пикселов просто пропадут. Поэтому, если необходимо, чтобы наши строки заняли равную высоту, то следует использовать следующий вариант параметра:
height-"*"
Впрочем, этот режим действует по умолчанию. Если для группы одинаковых объектов размеры не указаны, они размещаются максимально однородно в пространстве "родительского" объекта. И это все, что мы можем сказать о единицах измерения, принятых в HTML. На самом деле, мы все-таки имеем возможность задавать абсолютные размеры элементов оформления Web-страниц не только в пикселах. Но для этого необходимо использовать возможности технологии стилевого оформления CSS, которые мы рассмотрим позднее. А сейчас пора переходить к рассмотрению возможностей отображения текста.
Таблицы Таблицы
Таблицы являются одной из важнейших форм визуальной организации информации, располагающейся на Web-страницах. Это не просто средство отображения таблиц, включенных в состав Web-страниц. Это, пожалуй, единственное средство некоей верстки страниц. Мы знаем, что в HTML, a точнее, в его стандарт не встроены средства точного позиционирования элементов оформления Web-страниц. И здесь таблицы пришлись как нельзя кстати. Их можно распространить на всю страницу, и уже в ее ячейках размещать элементы оформления Web-страниц. В качестве подобного средства верстки также могут применяться фреймы, которые мы будем рассматривать в следующем разделе этой главы, но в последнее время в среде Web-мастеров они теряют свою популярность. И тому есть свои причины, которые берут начало в теории пользовательского интерфейса. Но вернемся к нашим таблицам. Для максимально полного понимания правил использования таблиц необходимо знать их структуру. В HTML таблица разбивается на строки, а те, в свою очередь, на ячейки. Так как для всех этих объектов существуют свои параметры, задающие их размеры, создается некоторая иерархия этих свойств. Но основой являются ячейки и их содержимое. Если мы жестко задаем ширину таблицы, скажем, в сто пикселов, а в каждой строке таблицы находится по четыре ячейки, каждая шириной в тридцать пикселов, то, несмотря на явную установку ширину всей таблицы, она все равно составит не сто, а сто двадцать пикселов. А если в какой-либо из ячеек будет находится графическое изображение, шириной более предусмотренных тридцати пикселов, то оно "растянет" собой ячейку, а с ней и весь столбец. А следовательно, еще более увеличится ширина всей таблицы. Сделано это для того, чтобы максимально адекватно отображать содержимое табличных ячеек, без пропажи их содержимого, полного или частичного. А жестко заданные размеры таблицы сохраняются, если есть такая возможность. Таким образом, явного объекта, обозначающего столбец таблицы, нет. Количество столбцов рассчитывается браузером на основе анализа строк таблицы, а затем уже отображается вся таблица в целом. Таким образом, при загрузке Web-страницы, содержащей таблицы, она не будет отображаться постепенно, по мере ее загрузки, а только после того, как она будет получена браузером вся полностью. Но пора переходить к рассмотрению тегов, реализующих таблицы. Сама таблица, все ее составляющие, находятся между стартовым тегом и его закрывающим близнецом
. В качестве составляющих используется заголовок таблицы, реализуемый тегом , группы столбцов, объявляемые при помощи тегов и , шапка и подвал таблицы, создаваемые тегами и , соответственно, и группы строк, реализуемые тегом . Все остальные, более мелкие элементы таблицы, размещаются уже внутри этих объектов. Сам тег обладает достаточно обширным набором параметров, которые позволяют устанавливать самые различные свойства таблицы. Так уж сложилось, что вопросам ширины каких-либо элементов оформления Web-страниц мы уделяем много больше внимания, чем установке высоты. Проще говоря, люди много спокойнее относятся к вертикальной полосе прокрутки, нежели к горизонтальной. Поэтому у таблицы нет параметра, устанавливающего высоту. Она рассчитывается исходя из размеров содержимого ячеек таблицы. Но вот ширину мы можем явно устанавливать. Производится это при помощи необязательно параметра width. В качестве значения этого параметра мы можем указать прямое или кратное количестве пикселов, или воспользоваться процентным соотношением. Также часто используется параметр border, при помощи которого мы можем явно указывать ширину границы таблицы. В качестве значения данного параметра используется целое неотрицательное число, которое и указывав ширину таблицы в пикселах. Если мы установим нулевое значение этогс параметра, то сама граница таблицы будет невидима. Это и позволяет создавать невидимые таблицы, в ячейках которых размещаются элементы содержимого Web-страницы. Параметр cellspacing позволяет устанавливать размер в пикселах между отдельными ячейками страницы. А похожий параметр cellpadding устанавливает размер отступа содержимого ячеек от ее границы, т. е. cellspacing устанавливает отступ вне ячейки, a cellpadding — внутри ячейки. А при помощи уже знакомого нам параметра align у нас есть возможносп установить горизонтальное выравнивание таблицы. В качестве значений этого параметра может применяться одно из трех предустановленных ключевых слов: left, center и right, которые прижимают таблицу к левому краю родительского объекта, центрируют ее, или прижимают вправо, соответственно. В самом простом варианте создания таблицы, мы объявляем саму таблицу при помощи тега , затем, несколько строк, а внутри этих строк сами ячейки. Это, повторюсь, самый простой способ, который не требует применения всех тех встроенных табличных объектов, которые мы упоминали несколько выше. До них еще дойдет очередь, а пока посмотрим на примере, как создаются и отображаются таблицы в HTML-документах" (Рисунок 1.24).
Встраиваемые объекты Встраиваемые объекты
Для того, чтобы добавить создаваемым Web-страницам дополнительные возможности, мы можем вставлять в состав их содержимого специализированные функциональные элементы. В качестве подобных элементов часто выступают Java-апплеты, элементы ActiveX, Flash-ролики и многое другое. Как их обрабатывает браузер, нас заботить не должно. Он все равно сделает это правильно. Нас интересует, как их внедрять в Web-страницы. До тех пор, пока ,мы не научились сами создавать функциональные объекты, пользуясь какой-либо достаточно серьезной технологией, часто требующей хороших навыков программиста, мы можем использовать подобные компоненты от сторонних производителей. Благо подобные компоненты в изобилии выложены в Сети. Главное, их найти и правильно внедрить в Web-страницу. Для вставки некоего функционального объекта, следует воспользоваться тегом . Для него существует и закрывающая пара . Между этими двумя тегами обычно размещается список дополнительных данных, которые передаются объекту в Качестве параметров, и некий текст, который будет отображаться, если браузер все-таки не сможет правильно обработать внедренный объект. Здесь необходимо различать свойства объекта, которые мы задаем при помощи параметров тега, и дополнительные данные, которые передаются как параметры самого объекта при помощи специализированных тегов. Так, например, если мы хотим вставить в свою Web-страницу некий элемент ActiveX, демонстрирующий изменение некоторой зависимости на графике, то нам потребуется, помимо внедрения самого объекта, установить еще и начальные данные. Для этого придется воспользоваться приблизительно следующей конструкцией:
classid="clsid:EB39F965-2374-llD3-85Fl-F21B86A4754D" codebase="http://www.mysite.com/sGJripts/myactx.осх"#version=l,0,0,0 height-300 align center> K сожалению, Ваша операционная система не поддерживает технологию ActiveX
В данном примере мы при объявлении внедренного объекта использовали в объявляющем теге несколько параметров. Параметр classid применяется для установки идентификатора внедряемого элемента, а параметр codebase задает URL файла, в котором и содержится внедряемый объект. Обычно для распространяемых объектов подобные параметры детально описываются в сопроводительном тексте. Чуть позже мы подробно рассмотрим все параметры этого тега. После тега мы разместили тег , при помощи которого задали начальные данные для внедренного объекта. Проще всего рассматривать подобные передаваемые параметры как переменные. На каждую передаваемую переменную требуется один тег <рагаm>. Но теперь, все-таки, перейдем к рассмотрению многочисленных параметров тега <оbject>.
Параметр classid, как мы уже знаем, применяется для установки уникального идентификатора внедряемого элемента. Часто его просто необходимо использовать, так как внедряемый элемент сохраняется в локальной системе пользователя, как, например, элементы ActiveX.
Параметр codebase предназначен для указания URL, который указывает на некий файл или каталог, в котором располагаются все необходимые для функционирования внедряемого элемента файлы.
Параметр data предназначен для задания местоположения графических изображений или иных блоков данных, которые используются встраиваемым объектом для своей деятельности. В качестве значения параметра используется URL, указывающий на файл с требуемым блоком данных.
Параметр type задает тип данных, на которые указывает предыдущий параметр. В качестве значения данного параметра используется одно из стандартных наименований типов данных, определенных в протоколе HTTP.
Параметр codetype позволяет указывать тип подключаемого объекта. Рекомендуется использовать данный параметр в тех случаях, когда информации, находящейся в параметре ciassid недостаточно для того, чтобы четко указать тип внедряемого элемента.
Параметр archive позволяет указывать местоположение архивных данных, которые имеют отношение к внедренному объекту, например, его обновлению. В некоторых случаях это позволяет сократить общее время загрузки новой версии внедряемого объекта. В качестве значения данного параметра используется список URL, разделенный пробелами.
Параметр declare не имеет значений. Если он входит в состав тега , то внедряемый объект просто объявляется, но не вставляется в Web-страницу. Обычно параметр применяется, если у нас есть несколько тегов , вставленных друг в друга.
Параметр standby позволяет задавать текст, который будет отображаться на месте объекта, пока он сам загружается из Сети. В качестве значения параметра используется обычная текстовая строка.
Параметр height предназначен для явного указания высоты объекта. В качестве значения параметра используется количество пикселов, абсолютное или кратное, или процентное соотношение.
Параметр width позволяет явно задавать ширину внедряемого объекта. В качестве значения используется один из стандартных вариантов задания размеров.
Параметр usemap используется, если внедряемый объект является графическим изображением, которое предназначено для использования в качестве сегментированной карты. Вопросы использования сегментированной графики мы рассматривали в разделе, посвященном гиперссылкам. В качестве значения параметра используется имя карты ссылок, заданное в параметре паще тега <тар>, объявляющего подключаемую карту сегментов.
Параметр name позволяет задавать уникальное идентифицирующее' имя данного конкретного внедряемого объекта.
Параметр tabindex Позволяет задавать порядковый номер объекта в последовательности органов управления, размещенных на Web-странице, переход между которыми производится при помощи клавиши табуляции.
Параметр hspace задает размеры свободного пространства по горизонтали между встроенным объектом и остальным содержимым Web-страницы. В качестве значения, используется число, обозначающее количество пикселов в отступе.
Параметр vspace позволяет задавать отступы про вертикали. В качестве значения используется все то же количество пикселов.
Параметр border задает толщину границы, обрамляющей внедренный объект. В качестве значения используется количество пикселов.
Параметр align позволяет задавать вертикальное или горизонтальное выравнивание объекта относительно остального содержимого Web-страницы. В качестве значения используется одно из уже знакомых нам ключевых слов: bottom, middle, top, left, right. Механизм их действия подробно описывался в разделе, посвященном использованию графики.
Если встраиваемому объекту необходимо передавать начальные данные для работы, то для этих целей применяется тег , который мы уже упоминали ранее. Он помещается между тегами и . Если мы передаем данные объекту, то тот принимает их как переменные. Следовательно, нам необходимо задать имяэтой переменной, чтобы объект мог правильно ее распознать, и значение переменной. Это минимальные требования. На самом деле, мы можем сделать больше. Все эти действия производятся при помощи параметров . Всего этих параметров — пять. Помимо общего идентифицирующего параметра id, есть и четыре специфичных.
Параметр name является обязательным для тега . При помощи значения этого параметра мы устанавливаем имя передаваемой переменной. Значением параметра является текст. Так как существуют самые различные методы создания встраиваемых объектов, то может получиться так, что это наименование переменной будет чувствительно к регистру символов. Поэтому стоит придерживаться того наливания, которое приводится ;в описании объекта.
Параметр value предназначен для установки значения передаваемой переменной. Значением данного параметра является текст. Встраиваемый объект сам берет на себя его распознавание.
Параметр vaiuetype позволяет задавать тип передаваемого значения. Это могут быть данйые в каком-либо стандартизованном формате, ссылка на некий ресурс в Сети Или другой объект. Кроме того, некоторые встраиваемые объекты в качестве переменных могут принимать другие объекты, причем, их тип может и не совпадать. В качестве значения параметра может использоваться одно из трех ключевых слов. Значение data, установленное по умолчанию, указывает, что используется стандартная переменная, передающая данные какого-либо типа. Как и упоминалось, мы передаем данные как строку, а объект сам интерпретирует их. Значение ref указывает, что в качестве переменной передается ссылка на какой-либо ресурс в Сети: А значение object сигнализирует, что мы передаем в качестве стартовых данных другой объект.
Параметр type используется в тех случаях, когда параметр vaiuetype имеет значение ref, т.е. когда в качестве переменной мы передаем ссылку на некий ресурс в Сети. Данный параметр указывает, какой тип имеет ресурс, на который мы ссылаемся.
И на этом перечень используемых параметров тега заканчивается. Еще раз напомню, что когда мы берем из Сети некий встраиваемый объект, к нему всегда прилагается сопроводительный текст, в котором рассказывается, как подключать данный объект, и какие стартовые данные ему нужны для работы. Внимательно читайте инструкцию, это может серьезно сэкономить вам время. Среди встраиваемых объектов HTML выделяет в особую группу Java-апплеты. Для того, чтобы внедрить их в состав содержимого Web-страниц, предусмотрен специализированный тег . Но прежде, чем мы разберем его использование, стоит все-таки узнать, что такое Java-апплеты. Язык Java изначально задумывался для создания приложений, которые бы выполнялись на любой компьютерной платформе без изменения кода, т. е. с использованием Java не нужно писать отдельные версии программного обеспечения для компьютеров на базе Intel-процессоров и компьютеров семейства Macintosh, или для различных операционных систем. Подобная "многоликость" достигается за счет очень остроумного решения. Java-приложения записываются не в кодах какого-либо процессора, как обычные исполняемые программы, а в своем специализированном формате, называемом байт-кодом. Этот байт-код распознается не процессором, а другим приложением, которое называется виртуальной Java-машиной, Вот эта виртуальная Java-машина пишется для каждой компьютерной системы отдельно. Она переводит байт-код в команды процессора. Эти виртуальные Java-машины написаны уже почти для каждой операционной системы, поэтому Java-приложения медленно, но верно завоевывают популярность. Естественно, возможность выполнения кода на любой компьютерной системе — это именно то, чего не хватает WWW. Ведь если документы читают браузеры, то активные элементы должны обрабатываться непосредственно операционной системой; и если сделать ставку на какое-либо решение, которое действует только в одной системе, то тем самым мы отсекаем от своего ресурса пользователей остальных компьютерных платформ и операционных систем. Поэтому был разработан дополнительный стандарт облегченных Java-приложений, которые могли бы внедряться в Web-страницы. Подобные облегченные Java-приложения называются Java-апплетами. Вставляются в содержимое Web-страниц они при помощи тега. Но специфика использования его ничем не отличаются от правил использования тега . И наборы параметров этих двух тегов практически не различаются. В теге могут применяться параметры codebase, code, name, archive, width, height, alt, align, hspace, vspace. Естественно, функциональность этих параметров не отличается от функциональности их близнецов, используемых в теге . Между тегами и могут размещаться теги , задающие стартовые данные для Java-апплета. Следует обратить внимание на то, что в списке параметров отсутствует параметр ciassid. Дело в том, что тег; применяется для объектов строго фиксированного типа, для апплетов, А они унаследовали пакетную структуру из своего прародителя — языка Java. Java-апплеты, если говорить более точно, представляют собой не просто какие-то файлы, а, так называемые, классы, хранимые в Java-пакетах. Поэтому для идентификации используется просто наименование класса, которое записывается в параметре name. И на этом мы заканчиваем рассмотрение внедряемых исполняемых объектов. Еще раз повторюсь: до тех пор, пока вы не умеете создавать их самостоятельно, а для этого необходимо уметь программировать немного лучше начального уровня, следует использовать общедоступные внедряемые элементы. Однако при их использовании все-таки следует соблюдать опреде-пенную осторожность, так как исполняемые объекты от неизвестных производителей потенциально могут быть опасны для пользователей. Следует пользоваться элементами, которые уже прошли проверку временем и интернет-сообществом.
Пакет Adobe GoLive
Cоздание гиперссылок Cоздание гиперссылок
В процессе проектирования Web-страницы вам придется создавать ссылки для вставки изображений или других медиа-средств, навигационные ссылку и многие другие. Лучше всего для создания ссылок использовать Inspector Инспектор).Чтобы создать ссылку, сначала нужно создать текст или изо-бражение, которые и будут отображаться в браузере в качестве ссылки. Затем необходимо выделить этот текст или изображение и нажать на кнопку New Link (Новая бсылка) — - в Inspector (Инспектор) или на панели инструментов. Останется только выбрать файл, на который будет указывать создаваемая ссылка.
Настройки Настройки
Большинство настроек Adobe GoLive доступны в диалоговом окне вызываемом из основного меню Edit | Preferences (ПравкаI Свойства). Здесь находятся установки, регулирующие свойства дисплея, опции для перемещения изображений, опции для активации .тех или иных модулей, опции для выбора Web-браузеров, которые вы можете запустить из Adobe GoLive, опции проверки правописания и многое другое. Остановимся более подробно на возможности управления модулями. Диалоговое окно Modules Preferences (Свойства модуля) позволяет вам рационализировать Adobe GoLive, чтобы уменьшить время его загрузки, улучшить его чувствительность и уменьшить предельные требования памяти. При помощи отключения ненужных модулей вы можете уменьшить требования программной памяти до рекомендуемого минимума в 24 Мбайт. Для того чтобы активировать или деактивировать программные, модули, выполните команду меню Edit | Preferences (Правка | Свойства). Затем щелкните мышкой на значок Modules (Модули) на левой панели диалогового, окна Рreferences (Свойства). Программные модули, которые установлены в дан-ный момент, отмечены флажками. Щелкните мышкой на нужный модуль, чтобы активировать или деактивировать его, и нажмите кнопку ОК Рисунок 2.4). Потом перезагрузите Adobe GoLive. Для получения дополнительной информации о каждом из модулей, вос-пользуйтесь пиктограммой Show Item Monnation (Показать информацию об объекте) в правом нижнем углу окна Preferences (Свойства).
Рисунок 2.4. Диалоговое окно Preferences, раздел Modules
Окно документа в режиме Layout Рисунок 2.1. Окно документа в режиме Layout: A — кнопка в виде треугольника показывает или прячет панель заголовочной секции окна документа; В — кнопка для активации редактора JavaScript; С — кнопка для вызова редактора эффектов DHTML; D — кнопка активации редактора применяемых стилей CSS; Е — выпадаюищий список для установки размеров окна документа
Чтобы открыть новое окно документа, следует выполнить команду меню File | New (Файл | Создать). Легко увидеть, что открытое окно документа состоит из нескольких вкладок. Давайте разберемся для чего используется каждая из них.
Вкладка Layout Editor (Редактор макета) —
Панели инструментов шаг за шагом Панели инструментов: шаг за шагом
Панель инструментов Adobe Golive содержит кнопки и выпадающие меню, набop которых зависит от того, какой из объектов рабочей области выбрали. Вы можете использовать панель инструментов для изменения выделенного текста или объектов в окне документа, таких, как выбор формата параграфа для выделенного текста или изменения размеров текстового поля макета. Также, с помощью панели инструментов, можно выполнять общие задачи, относящиеся к вашему документу или всему Web-сайту, такие, как включение предупрежде-ий о ссылках (link warnings) или просмотр вашего документа прямо в браузере. Чтобы показать или спрятать панель инструментов, следует выполнить ко-анду меню Window | Toolbar (Окно | Панель инструментов). Также можно спрятать панель инструментов, щелкнув мышкой на закрывающей кнопке в верхнем правом (Windows) или верхнем левом (Mac OS) углу. Чтобы пере-двинуть панель инструментов, достаточно потянуть ее за верхнюю панель Windows) или нижний левый угол (Mac OS).
Переключение между окнами Переключение между окнами
Adobe GoLive позволяет открывать одновременно несколько документов, сайтов и окон дизайна сайта. Переключаться между ними можно разными способами. Например, прросто щелкните мышкой по нужному окну, и оно отобразится на переднем плане. Этот вариант сработает в том случае, если вы видите хотя бы край нужного вам окна. Если же нет, то можно выбрать нужное окно в меню Window (Окно). Но посредством данного меню, вы не сможете переключиться на .вторичное окно дизайна сайта. Чтобы переключаться между окном документа на первом плане и первичным окном сайта, воспользуйтесь кнопкой Select Window (Выбрать окно) — — на панели инструментов.
Применение палитр Применение палитр
Adobe GoLive предоставляет разработчику несколько палитр и дополнительных панелей, облегчающих решение основных задач, таких как, добавление объектов к содержимому Web-страницы, установка атрибутов для этих объектов, изменение цвета и т. п. При запуске Adobe GoLive, на вашем рабочем столе отображаются несколько палитр. Чтобы сделать палитру видимой в вашей рабочей области, достаточно выбрать ее имя в меню Window (Окно). Чтобы спрятать цалитру, либо щелкните мышкой на закрывающую панель в правом верхнем (Windows) или в левом верхнем (Mac OS) углах окна группы, либо щелчком мышкой по палитре выведите ее на первый план в окне и потом закройте. Более близкое знакомство с описанными выше возможностями начнем с палитры Objects Palette (Палитра объектов). Данная палитра позволяет вам быстро и легко вставлять в Web-страницы различные объекты, включая плавающие поля (floating boxes), таблицы, рисунки, кнопки прокрутки, элементы форм и многое другое. Obgects Palette (Палитра объектов) содержит не-сколько кнопок, с каждой из которых связана группа значков представляющих теги HTML, структурные элементы страницы или характерные объекты сайта. Количество групп значков варьируются в зависимости от состава модулей, которые вы установили или активировали в диалоговом окне Modules Рreferences (Свойства модуля). Более подробно об этом окне будет рассказано в разделе «Настройки» данной главы. Чтобы вызвать палитру объектов, меню Window (Окно) выберите команду Objects (Объекты).
Objects Palette (Палитра объектов) содержит следующие кнопки.
Кнопка Basic (Основной) — - служит для просмотра значков, представляющих основной набор тегов HTML, которые вы можете добавлять в секцию body.
Кнопка Smart (Разумный)— — позволяет npocмотреть значки, представляющие теги HTML, код JavaScript и "разумные" объекты, которые вы можете добавлять в секции head или body вашей страницы.
Кнопка Forms (Формы)— позволяет просматривать значки, представляющие теги HTML отвечающие за создание форм ввода, которые вы можете добавлять в секцию bоdу
Кнопка Head (Заголовок) — — представляет значки тегов HTML для секции head.
Кнопка Frames (фреймы) — — вызывает набор значков, представляющих теги HTML для установок фреймов, которые вы можете добавлять в режиме Фреймы (Frames) окна документа.
Кнопка Site (Сайт) — — позволяет просмотреть значки, представляющие групповые объекты сайта, которые вы можете вставлять в сайт или окно дизайна сайта.
Кнопка Site Extras (Расширения сайта) — — показывает значки, представляющие закрейленные страницы, компоненты или их фрагменты.
Кнопка Library (Библиотека) — позволяет пользователю собрать библиотеку наиболее часто используемых компонентов.
Когда вы подводите стрелку мыши к значку, то ее имя появляется внизу Окна палитры. Чтобы вставить объект в разрабатываемую Web-страницу, Просто перетащите его при помощи мыши, удерживая нажатой ее правую кнопку, в нужное место страницы и отпустите кнопку. Следующая палитра на которой мы остановимся — Colors Palette (Палитра цветов). Она позволяет вам быстро и легко раскрасить текст и объекты ваших Web-страниц. Colors Palette (Палитра цветов) содержит несколько отдельных палитр, призванных помочь найти цвет, идеально подходящий для реализации вашей задачи. Подобно Objects Palette (Палитра объектов), Colors Palette (Палитра цветов) содержит несколько кнопок, по которым следует произвести щелчок мышью, чтобы открыть нужную палитру. Colors Palette (Палитра цветов) также содержит объектное меню выбора групп кнопок активизации опций отображения значений цвета в процентах или по шкале в 256 цветов. Для отображения Colors Palette (Палитра цветов) или любой палитры этой группы в меню Window (Окно) выберите команды Color (Цвет) или просто щелкните мышкой на любом цветовом поле в Inspector "(Инспектор). Подробнее об Inspector (Инспектор) смотри ниже. Цветовые значения Colors Palette (Палитра цветов) могут указываться по процентной или цифровой (256 цветов) шкале. Щелкните мышкой на треугольнике в правом, верхнем углу Colors Palette (Палитра цветов), чтобы отобразить ее меню, и выберите там команду Percent Values (Процентные значения). В правом нижнем углу рабочей облаем располагается чувствительный к контексту Inspector (Инспектор), дозволяющий устанавливать атрибуты для текста и объектов в окне документа. Содержание Inspector (Инспектор) изменяется в зависимости от того, с каким объектом сейчас работает пользователь. Он может содержать кнопки, текстовые поля, выпадающие списки, поля выбора цвета. Если вы производите какие-либо изменения в окне документа или окне сайта, имя Inspector (Инспектор) меняется и отображается в нижней части его окна. Например, если вы активируете некое изображение в окне документа, на нижней панели Inspector (Инспектор) появляется слово Image (Изображение), указывающее, что Inspector (Инспектор) преобразовался в Image Inspector (Инспектор изображения). Теперь он содержит все необходимое для работы с графикой.
Работа с кириллическими символами Работа с кириллическими символами
Операционная система Windows 2000 (или старше) с установленным браузером Microsoft Internet Explorer 6.0 позволяет просматривать и создавать Web-страницы, текстовое содержимое которых использует двухбайтовую кодировку Unicode . Рассмотрим использование этой кодировки текста в Adobe OoLive, опираясь, естественно, на системы Windows 2000 и Mac OS. Если вы устанавливаете у себя английскую версию Adobe Golive, то любая страница, которую вы создаете, создается в кодировке Latin 1 (Western), которая содержит знаки западных языков, в системе Windows или в кодировке GL Western в системе Mac OS. Если ваша страница будет создана с использованием любого западного языка, например, английского, немецкого, французского, испанского или шведского, то не стоит изменять кодировку. Но для создания текста на языке, использующем иную систему знаков, необходимы соответствующие ресурсы и шрифты. Модуль кодировок (encodings) должен быть установлен и активирован. Также следует изменить общую настройку кодировок, чтобы использовать именно ту кодировку, которая вам нужна. Для этого надо выполнить команду меню File | Document Encoding (Файл | Кодировка документа) и установить там маркер напротив двухбайтовой (double-byte) кодировки. Поддерживаемые кодировки документа определены системным программным обеспечением. Пару слов нужно также сказать об установке настроек для языков и шрифтов. Они позволяют вам выбирать и использовать отсутствующие в настройках языки, устанавливать подменю кодировки документа и отсутствующие шрифты. Чтобы получить возможность указывать необходимую кодировку текстового содержимого документа, выполните команду меню Edit | Preferences (Правка | Свойства) и щелкните мышкой на значке Modules (Модули) на левой панели диалогового окна Preferences (Свойства). Проверьте, отмечен ли флажком модуль Encodings (Кодировки). Если нет, то поставьте флажок, чтобы отметить его, и перезагрузите Adobe Golive для вступления изменений в силу. После перезагрузки Adobe GoLive следует выполнить команду меню Edit | Preferences (Правка | Свойства) и в появившемся диалоговом окне Preferences (Свойства) щелкнуть на значок Encodings (Кодировки). После этого в отображенном списке всех кодировок выбрать именно те, которые понадобятся при работе с создаваемым сайтом. Для того чтобы какая-либо кодировка была назначена используемой по умолчанию, следует выделить ее наименование, а затем взвести флажок в независимом переключателе Default Encoding (Кодировка по умолчанию), или же просто дважды щелкнуть на наименовании кодировки. Взведите флажок в переключателе Use Charset Info (Использовать информа-цию о кодировке), чтобы включить кодировку и информацию о наборе символов в атрибут conteftt тега . Если этот независимый переключатель включен, Adobe GoLive пытается распознать кодировку, базирующуюся на используемых символах. Чтобы выбрать шрифты, используемые по умолчанию для системы кодировок, выполните команду меню Edit | Preferences (Правка | Свойства) и выбери-пиктограмму Foots (Шрифты) на левой панели диалогового окна Preferences (Свойства). Затем следует вьщелить кодировку, которая будет, использоваться в документе, и задать для нее шрифт и его размер из выпадающих списков Font (Шрифт) и Size (Размер), как это показано на Рисунок 2.5. После установки параметров нажмите кнопку ОК и перезагрузите Adobe GoLive.
Установка шрифтов Рисунок 2.5. Установка шрифтов Среди используемых вами файлов могут быть и такие, которые содержат разные сценарии и кодировки. Прежде чем импортировать файлы на ино-. странном языке или текстовые файлы с других компьютерных платформ, вы должны проверить в какой кодировке они были написаны. Если текст был сохранен в кодировке, которая не распознается вашим компьютером, вероятно, он и не будет отображен. Чтобы вставить текст, написанный на таком "нестандартном" языке, вы должны отобразить ваш документ, создаваемый в GoLive, в режиме Source view (Обзор источника) и вставить текст напрямую в НТМL код. Для импортирования файлов на иностранном языке откройте новое окно документа. Затем следует выполнить команду меню File | Document Encoding (Файл. | Кодировка документа) и выбрать кодировку языка файла предназначенного для импорта. После этого скопируйте, текст из данного файла, вернитесь в Adobe GoLive и отобразите ваш документ в режиме Source view (Обзор источника). Вставьте скопированный текст между тегами и . Если ваш текст содержит знаки, которые используются в синтаксисе HTML, такие как <, > и &, вы должны использовать присущую HTML систему обозначения специальных знаков, такие как <, >, и samp;, иначе Adobe GoLive воспримет их как теги HTML при чтении файла, содержащего только текст. Впрочем, если вы внимательно читали первую главу, в которой рассказывалось о языке HTML, это не вызовет каких-либо затруднений.
Внешний вид диалогового окна управления разработкой сайта Рисунок 2.2. Внешний вид диалогового окна управления разработкой сайта
Следует обратить внимание на то, что окно разработки сайта может отображать больше информации, нежели показывается по умолчанию. В правом нижнем углу располагается пара кнопок со стрелками, нажатие на которые переключает окно в режим расширенного отображения и обратно. В режиме расширенного отображения пользователю предоставляется еще несколько вкладок, в которых представлена общая статистическая информация, и органы управления для выкладки созданного сайта на сервер. На Рисунок 2.3 показан расширенный вид окна управления сайтом.
Рисунок 2.3. Расширенный режим диалогового окна управления сайтом
Возможности окна документа Возможности окна документа
Окно документа предоставляет множество режимов редактирования, так что вы можете проектировать свой сайт так, как необходимо, в зависимости от своих предпочтении. Предпочитаете ли вы работать с палитрами или с редактором HTML-текста напрямую — Adobe GoLive позволит вам работать так, как вы привыкли. По умолчанию, окно отображается в режиме Layout (Макет). Вы можете перейти в другой режим редактирования или предварительно просмотреть результаты своей работы. Следует обратить внимание на некоторые кнопки, доступные в режиме Layout (Макет). Они отмечены буквами на Рисунок 2.1.
Пакет Adobe GoLive
Формы Формы
Adobe GoLive обеспечивает работу с полным набором элементов форм, располагающихся на соответствующей вкладке Forms (Формы) —Совет
Совет Если вы используете HTML-таблицы, увеличьте высоту строк и ширину ячеек, а также просмотрите ваши формы по возможности во всех целевых браузерах.
Прежде всего, необходимо на разрабатываемую Web-страницу поместить пиктограмму Form (Форма). Содержание вашей формы должно быть помещено а рамку, которая окружает пиктограмму Form (Форма) в окне документа. Если вы используете таблицу HTML для создания вашей формы, убедитесь, что вы поместили саму таблицу внутрь формы в окне документа. Чтобы установить элементы формы, перетащите пиктограмму Form (Форма)
Использование текстового поля и поля ввода пароля Рисунок 3.2. Использование текстового поля и поля ввода пароля
Для размещения поля текстового ввода или поля для ввода пароля необходимо перетащить пиктограмму TextField (Текстовое поле) или пиктограмму Password (Пароль) из панели Forms (Формы) Objects Palette (Палитра объектов) в окно документа или дважды щелкнуть мышью на необходимую пиктограмму в Objects Palette (Палитра объектов). Теперь пора установить параметры новых полей ввода в палитре Inspector (Инспектор) В текстовом поле Name (Имя) укажите уникальное наименование поля, чтобы однозначно идентифицировать его. В текстовом поле Value (Значение) введите текст, используемый по умолчанию, который может быть переписан посетителем сайта. В текстовом поле Visible (Видимое) указывается размер поля в символах. То есть, в поле указывается количество символов, которое будет видно в поле ввода. В текстовом поле Маx (Максимум) введите максимальное количество символов, которые будут приняты текстовым Полем. Если поле оставить пустым, то предел будет определен браузером, который используется для просмотра данной формы. ; В том случае, если создаваемое текстовое поле предназначено для ввода конфиденциальной информации, следует установить флажок в независимом переключателе Is Password Field (Поле пароля). Чтобы установить текстовую область в форме, перетащите пиктограмму Text Area (Текстовая область) —
Ячейка объединяющая три строки Рисунок 3.6. Ячейка, объединяющая три строки
Обычно ячейки верхней строки содержат заголовки столбцов, поэтому было бы неплохо использовать для них отдельное форматирование. Чтобы отформатировать ячейку как подзаголовок взведите флажок в независимом переключателе Header Style (Стиль заголовка). По умолчанию, в случае когда текст в ячейке не умещается в одну строку, он разбивается на несколько строк. Но иногда возникает необходимость размещать текст в ячейке в его первозданном виде. Если такая необходимость возникла, следует взвести флажок в независимом переключателе No Text Wrap (He переносить текст). Мы уже умеем устанавливать фоновое изображение для всей таблицы, но HTML позволяет задавать фон отдельно для каждой ячейки. Чтобы использовать фоновое изображение в ячейке, взведите флажок в независимом переключателе Bglmage (Фоновое изображение) вкладки Сеll (Ячейка). Выбор графического файла производится точно так же, как и в случае с установкой фонового изображения для всей таблицы. Adobe GoLive позволяет вставлять текст в таблицы разными способами. Вы можете вставить текст путем прямого ввода в ячейку таблицы, копированием текста из другого документа, перемещением текста между ячейками путем перетаскивания и импортированием текста из текстовых файлов в таблицу.
Чтобы ввести текст внутрь ячейки, щелкните мышью внутри ячейки, устанавливая курсор, и введите содержимое ячейки.
Чтобы скопировать текст из другого документа и вставить в ячейку, выделите текст в документе я скопируйте его. Установите курсор внутри ячейки, а затем выполните команду меню Edit | Paste (Правка | Вставить).
Чтобы переместить текст между ячейками, удерживая правую кнопку мыши, выделите текст. Потом, удерживая кнопку мыши, перетащите его туда, куда необходимо.
Чтобы импортировать данные их текстовых файлов в таблицу, создайте текстовый файл, содержащий данные, которые вы хотите поместить в таблицу Adobe GoUve. Вставьте таблицу в окно документа Adobe GoLive. Вам не нужно добавлять строки или колонки в таблицу, чтобы разместить перемещаемые данные. Когда Adobe GoLive перемещает данные в таблицу, он сам вставляет дополнительные строки и колонки в таблицу, как необходимо для расположения данных. Нажмите кнопку Browse (Просмотр) рядом с командой Import Tab-Text (Перемещение таблица-текст). Выберите текстовый файл, данные из которого будут пересылаться в таблицу, из выпадающего списка Column Separator (Разделитель колонок) выберите символ, который будет использоваться в качестве разделителя, и нажмите кнопку Open (Открыть).
Кнопки Подтвердить и Очистить Рисунок 3.1. Кнопки Подтвердить и Очистить
Если в форме необходим независимый переключатель, перетяните пиктограмму Check Box (Независимый переключатель) —
Настройки Web в Adobe GoLive Настройки Web в Adobe GoLive
Настройки Web это базовый строительный блок Adobe GoLive, который помогает поддерживать целостность и сохранность вашего HTML-кода. Они включают в себя полный набор тегов HTML, специальные знаковые коды и специфические настройки браузера. Настройки Web также помогают Web-разработчикам в выборе правильных тегов.и атрибутов для содержимого их страниц. Теги и атрибуты могут быть вставлены путем перетаскивания их из настроек Web в панель редактора источника. Вы можете редактировать некоторые панели настроек Web, чтобы приспособить их для решения своих задач.
Работа с таблицами Работа с таблицами
Таблицы в HTML-документах являются основным инструментом верстки. Они позволяют размещать в своих ячейках текст и почти любой объект, от картинки до другой таблицы или даже ролика QuickTime. Как и большинство других объектов Adobe GoLive, таблица может быть расположена прямо в окне документа или в сетке раскладки для наибольшего контроля над ее позицией на странице. Чтобы вставить таблицу, выполните команду меню Window | Objects (Окно | Объекты). В Objects Palette (Палитра объектов), щелкните по ярлыку Basic (Основные) —
Редактирование HTMLкода Редактирование HTML-кода
В режиме Source (Исходный код) вы можете просматривать HTML-код своего документа, проверять синтаксис HTML, исправлять ваш код или даже строить Web-страницы с самого начала, используя только HTML. Если вы уже закаленный программист HTML с хорошими профессиональными, навыками в области этого языка и использовали ориентированные на текст редакторы HTML, режим Source (Исходный код) будет для вас очень полезен. Работа в режиме исходного кода подобна работе в текстовом редакторе HTML. Вы можете создавать новый документ и открывать уже существующие в Adobe GoLive, HTML или текстовые документы. Вы можете печатать или вставлять текст из других документов, а также производить и сохранять изменения. Во время работы в режиме Source (Исходный код), вы можете отбуксировывать пиктограммы HTML-элементов из Objects Palette (Палитра объектов) в текст вашего HTML-кода и использовать их как редактируемые теговые шаблоны. После того как вы вставали элемент, вы можете редактировать его атрибуты и значения атрибутов, в то время как в окне будут отображаться вводимые данные и основные ошибки. Возможно также перетащить даже цвет из области окна предварительного просмотра палитры цветов и опустить его на выбранном теге в вашем HTML-коде. При этом искомый тег получит параметр цветового оформления с правильным указанием цвета. Точно также можно перетягивать страницы или URL из окна сайта, чтобы создать ссылку. В режиме Source (Исходный код) можно и нужно применять базовые команды для форматирования текста из меню Туре (Тип) к выделенному тексту на вашей странице. Чтобы отформатировать текст, в режиме Source (Исходный код) —
Режим Outline Editor Рисунок 3.8. Режим Outline Editor
Вы можете перетаскивать наиболее часто используемые элементы HTML из Objects Palette (Палитра объектов) и помещать их где-нибудь в окне Outline Editor (Редактор, эскиза), как вы бы сделали в режиме макета. После вставки элемента вы можете редактировать его атрибуты.
Совет
Совет Эскиз, доступный в режиме Outline Editor (Редактор эскиза), содержит все составляющие элементы страницы HTML. Вы можете использовать эту структуру как шаблон и наполнять его своим содержанием.
В режиме Outline Editor (Редактор эскиза) отступы отмечают позицию объекта в пределах иерархии HTML. Элементы
и тоже сдвинуты, чтобы показать, что они содержатся в элементе HTML. Элемент
в свою очередь содержит элемент с текстовым полем. Начальные и конечные тегИ соединены вертикальными линиями, чтобы показать, что они являются дополняющими друг друга объектами. Outline Editor (Редактор эскиза) предлагает обширные возможности по редактированию кода и навигации в его пределах.
Для перемещения, используйте клавиши со стрелками. Клавиша <
Установка выпадающего списка Рисунок З.3. Установка выпадающего списка
Для добавления новых элементов в список можно использовать следующие кнопки:
Duplicate (Дублировать), чтобы создать копию уже существующего элемента;
New (Новый), чтобы вставить новый элемент. Введите обозначение и значение в соответствующих текстовых полях.
Набор специальных HTML-элементов позволяет вам вставлять кнопки в виде изображений, скрытые поля, включая криптографические ключи, и поля для выбора файлов из локальной системы пользователя.
Пиктограмма Input Image (Вставка картинки) вставляет картинку, такую, как например, графическая кнопка подтверждения. Добавление графики может помочь пользователям ориентироваться на ваших страницах.
Пиктограмма скрытого поля Hidden Icon (Скрытый значок) вставляет поле, которое не отображается браузерам, но его содержимое все равно отсылается На сервер. Этот тег используется, чтобы посылать дополнительную информацию при обменах информацией между браузером и сервером.
Пиктограмма Key Generator (Генератор ключа) позволяет использовать шифровальный алгоритм для обеспечения безопасности транзакций с вашим Web-сайтом.
Пиктограмма загрузки файла File Browser (Загрузка файла) вставляет диалоговое окно выбора файла. Это файл потом также может быть передам браузером на сервер.
Чтобы добавить изображение, которое будет играть роль кнопки, перетяните пиктограмму Input Image (Вставка картинки) — — из панели Forms (Формы) Objects Palette (Палитра объектов) в окно документа или просто дважды щелкните мышью на этой пиктограмме в Objects Palette (Палитра объектов). На панели Mere (Дополнительно) в палитре Inspector (Инспектор) установите дополнительные свойства графической кнопки. Два элемента важны для вставляемых изображений:
взведите флажок в переключателе Is Form (Форма), если вы планируете использовать изображение в качестве кнопки;
убедитесь, что вы ввели имя в текстовом поле Name (Имя), чтобы идентифицировать изображение. Это особенно важно, если вы используете несколько графических кнопок подтверждения в пределах одной и той же формы.
Чтобы установить скрытое поле, генератор ключа или загрузчик файлов на разрабатываемую Web-страницу, перетащите пиктограмму Hidden (Скрытое поле), Key Generator (Генератор ключа) или File Browser (Загрузка файла) из панели Forms (Формы) в Objects Palette (Палитра объектов) на вашу страницу или просто дважды щелкните на пиктограмму в Objects Palette (Палитра объектов). После этого, для созданных элементов формы необходимо установить наименование в поле Name (Имя) и дополнительные свойства:
для скрытого поля введите его содержимое в текстовом поле Value (Значение);
для поля загрузки файла следует в текстовом поле Visible (Видимый) указать цифровое значение, чтобы определить ширину поля загрузки файла.
Разработчики Web-страниц; могут предоставлять возможность пользователям перемещаться между органами ввода данных, входящих в состав форм. В Adobe GoLive эта возможность реализуется при помощи органов управления, располагающихся в секции Focus (Фокус ввода) палитры Inspector (Инспектор). В форме HTML каждый элемент должен получить фокус ввода, чтобы активизироваться и выполнить свою задачу. В более ранних версиях HTML это выполнялось при помощи щелчка мышью на выбранный элемент. HTML 4.0 представляет альтернативный путь навигации по форме, используя клавиатуру. Последовательный переход между элементами формы осуществляется по нажатию клавиши табуляции. Но для этого элементы формы должны входить в цепочки табуляции, о которой уже упоминалось в первой главе. Adobe GoLive, естественно, позволяет вам определять цепочку табуляции для элементов формы. Цепочка табуляции указывает порядок, в котором выбираются элементы формы, когда пользователь нажимает кнопку табуляции. Цепочка табуляции определяется путем установки значения табуляционного индекса для каждого элемента. Как было сказано в первой главе, табуляцион-ный индекс поддерживается при помощи атрибута tabindex, который может входить в состав любого тега, объявляющего элемент формы. Навигация осуществляется от элемента с наименьшим значением индекса к элементу с наибольшим его значением. Если вы назначаете одинаковое значение индекса табуляции двум элементам, последовательность в расположении HTML определяет порядок табулирования. Ярлыки, текстовые поля, поля паролей, области текста, кнопки подтверждения, кнопки очистки (Reset), независимые переключатели, группы переключателей, выпадающие меню и поля списков поддерживают навигацию при помощи клавиши табуляции. Чтобы установить значение индекса табуляции для элементов форм автоматически, в режиме макета, в меню выполните команду Special | Start Tabulator Indexing (Особые возможности) Начать индексацию). Или выделите первый элемент и нажмите кнопку Start/Stop Indexing (Начать/закончить индексацию) — — в палитре Inspector (Инспектор). Маленькие желтые поля индекса появляются сверху или внутри всех индексируемых элементов, и значок решетки присоединяется к курсору — . Щелкните мышью на каждый элемент последовательно в требуемом порядке табуляции. Номер появляется в каждом поле индекса и в текстовом поле Tab (Табуляция) палитры Inspector (Инспектор). Это порядковый номер элемента в цепочке табуляции. Чтобы установить значение индекса табуляции для элемента формы вручную, выделите элемент формы по очереди в нужном порядке и введите его порядковый номер в цепочке в текстовом поле Tab (Табуляция) палитры Inspector (Инспектор). В случае, если вы хотите изменить существующую цепочку табуляции, выделите элемент, с которого вы начнете перенумерацию. Затем стоит выполнить команду меню Special | Start Tabulator Indexing (Особые возможности | Начать индексацию) или нажать кнопку Start/Stop Indexing (Начать/ закончить индексацию) в Inspector Objects (Инспектор объектов). После этого придется щелчками мыши на каждом элементе установить новый порядок перехода по табуляции. Стандарт HTML 4.0 позволяет создателям Web-страниц устанавливать некоторые элементы форм в состояние "только для чтения". В этом режиме, пользователь не сможет изменить данные, которые уже отображаются в полях ввода. Чтобы установить этот статус, выберите элемент, который вы хотите сделать недоступным для изменения, и взведите флажок в независимом переключателе Readonly (Только для чтения) в палитре Inspector (Инспектор). Также разработчик Web-страница может создавать органы ввода в неактивном состоянии, которые потом могут быть активированы выполняемым скриптовым сценарием. Эта возможность позволяет держать кнопку Подтвердить неактивной до тех пор, пока пользователь не введет какой-нибудь нужной информации. Надписи, ярлыки, текстовые поля, текстовые области, кнопки Подтвердить, кнопки Reset, независимые и зависимые переключатели могут быть созданы с применением неактивного статуса. Чтобы создать какой-либо элемент с неактивным статусом, в окне документа следует выделить этот элемент, а затем в палитре Inspector (Инспектор) взвести флажок Disabled (Недоступен). В формах, созданных для браузеров совместимых с HTML 4.0, пиктограмма Label (Метка) вставляет текст, связанный с каким-либо органом управления, расположенным на форме. Щелчок пользователя мышью на метку позволяет активировать объект, с которым эта метка связана. Чтобы вставить метку в создаваемую форму, перетащите пиктограмму Label (Метка) — — с панели Forms (Формы) на разрабатываемую страницу или дважды, щелкните мышью на соответствующую пиктограмму в Objects Palette (Палитра объектов). Затем следует выделить метку и указать ее наименование. Чтобы связать метку с каким-либо органом ввода данных, выделите метку, а затем произведите одно из следующих действий:
либо нажмите кнопку Fetch URL (Пойти за URL) в Inspecter Objects (Инспектор объектов) и перетащите к элементу формы, который вы хотите пометить;
либо щелкните мышью, одновременно удерживая клавишу (в Windows) или (BI MacOS), по краю метки и перетащите образ метки в элемент формы, который вы хотите пометить.
Текстовое поле Reference (Ссылка) в палитре Inspector (Инспектор) отображает идентификатор, который создает соответствие между органом ввода данных и его меткой.
Установка размеров границ и отступов Рисунок 3.5. Установка размеров границ и отступов в таблице: А — граница шириной в 10 пикселов; В — отступ внутри ячеек в 2 пиксела; С — расстояние между ячейками в 5 пикселов
Чтобы задать фоновый цвет для вcей таблицы, взведите флажок в независимом переключателе Color (Цвет), затем щелкните мышью внутри цветового поля, чтобы его выделить. При этом будет активирована палитра Colors (Цвета). Обратите внимание на то, что когда вы применяете фоновый цвет к таблице и просматриваете таблицу в режиме предварительного просмотра Adobe GoLive или в Netscape Navigator, то цвет появляется только в тех ячейках таблицы, которые содержат какие-либо данные. Для решения этой проблем» необходимо в каждую пустую ячейку таблицы вставить неразрывный пробел. Воспользуйтесь следующим приемом — щелкните мышью внутри ячейки и нажмите +<Пробел> (в Windows) или <Орtions>+<Пробел> (в Mac OS). Заголовок — важный элемент таблицы. Взведите флажок в независимом переключателе Caption (Заголовок) и в соответствующем поле ввода выберите место расположения заголовка относительно самой таблицы. Применив графическое изображение в качестве фона таблицы, вы можете заметно улучшить ее внешний вид. Взведите флажок в независимом переключателе Bglmage (Фоновое изображение), потом выберите файл изображения, используя кнопку Fetch URL (Пойти за URL) или кнопку Browse (Просмотр). Чтобы выровнять по горизонтали текст во всех ячейках строки, выделите сначала строку, а затем выберите необходимый пункт из выпадающего списка Horizontal Alignment (Горизонтальное выравнивание), расположенного: на вкладке Row (Строка). Выберите пункт Default (По умолчанию), чтобы выровнять по горизонтали текст в соответствии с настройками браузера. В Adobe GoLive выбор этой опции приводит к выравниванию текста по левой границе ячейки. Выравнивание содержимого ячеек и строк по вертикали осуществляется при помощи выпадающего списка Vertical Alignment (Вертикальное выравнивание). ' Для установки высоты строк» выберите единицу измерения высоты из выпадающего списка Height (Высота). Потом в поле ввода укажите предполагаемую высоту строки в пикселах или процентах. Выберите строку Avto (Автоматически) списка Height (Высота), чтобы браузер сам рассчитывал высоту строки таблицы в зависимостщот содержимого ее ячеек. Чтобы установить фоновый цвет для всей строки, взведите флажок в независимом переключателе Colors (Цвета),затем щелкните мышью внутри цветового поля, чтобы его выделить можно будет выбрать необходимый фоновый цвет из палитры Colors (Цвета) . Перейдем к свойствам отдельной ячейки: щелкните дважды мышью, удерживая на ячейке, тем самым выделив ее.
Совет
Совет Чтобы изменить параметры нескольких ячеек одновременно, выделите нужные ячейки, а затем перейдите на вкладку Ceil (Ячейка) Inspector Objects (Инспектор объектов). Чтобы выделить дополнительные ячейки, вы можете, удерживая , щелкнуть мышью внутри каждой дополнительной ячейки.
Чтобы ячейки могли объединять в себе несколько соседних строк по вертикали, следует ввести нужное .число строк в поле Row Span (Объединение строк), как это показано на Рисунок 3.6. Аналогично полю Row Span (Объединение строк) поле Column Span (Объединение колонок) служит для объединения в одной ячейке нескольких соседних колонок. Чтобы явно задать высоту и ширину ячейки, выберите необходимую единицу измерения из выпадающего списка Height (Высота) и Width (Ширина), соответственно, и введите размеры в связанные с этими списками поля ввода. Выберите строку Avto (Автоматически), чтобы браузер пользователя сам устанавливал высоту и ширину.
Установка стиля таблицы Рисунок 3.7. Установка стиля таблицы
Чтобы удалить существующий стиль из таблицы, выделите всю таблицу целиком и на вкладке Style (Стиль) нажмите кнопку Remove (Удалить). Впрочем, имеется возможность к коллекции предустановленных стилей добавить и свои варианты стилевого оформления. Для этого нажмите кнопку New (Новый), чтобы создать новый стиль таблицы. В текстовом поле над кнопкой New (Новый) введите имя для нового стиля таблицы. Нажмите кнопку Capture (Зафиксировать), чтобы захватить стиль выделенной таблицы в окне документа и сохранить его как новый стиль таблицы. Теперь этот стиль добавится к списку предопределенных стилей, и вы сможете применять его к другим таблицам. Конечно, стили можно не только добавлять, но и удалять. Для этого необходимый стиль надо просто выбрать из выпадающего списка-в левом верхнем углу вкладки Style (Стиль), а затем нажать кнопку Delete (Удалить).
Установка свойств ячеек в таблице Рисунок 3.4. Установка свойств ячеек в таблице
После того как вы определились с размерами таблицы, самое время настроить параметры отображения. Щелкните мышью на верхнем или левом краю таблицы, тем самым выделив ее. Затем введите нужную ширину в поле ввода Border (Граница) в палитре Inspector (Инспектор). Если вы устанавливаете ширину границы 0, то границы затемнены в режиме макета и не видны в браузере. Чтобы скрыть затемненные границы, которые появляются в режиме Layout (Макет), выполните команду меню Edit Hide Invisible Items (Правка | Скрыть невидимые элементы). Чтобы изменить вертикальные и горизонтальные отступы содержимого ячеек таблицы от их границ, введите величину отступа в поле Cell Pad (Отступ ячейки). Поле Сеll Space (Расстояние между ячейками) служит для определения расстояниея между ячейками таблицы. На Рисунок 3.5 показаны различные примеры границ таблицы, пространства внутри ячеек и расстояние между ячейками.
Создатели Adobe GoLive рекомендуют, чтобы Внимание Создатели Adobe GoLive рекомендуют, чтобы вы использовали опцию Post. Добавление информации в данные места назначения может превысить лимит длины URL и, возможно, привести к потере данных.
Элементы формы являются элементами HTML и их можно вставить в сайт. Вкладка форм в палитре объектов содержит полный, инвентарь элементов форм, включая кнопки, поля флажков, текстовые поля, поля списков, всплывающие меню, специальные элементы и элементы HTML 4.0. Чтобы добавить элементы формы ш раэрвбаяизаемую Web-чяраницу, перетащите подходящую пиктограмму из панели Forms (Формы)
Не редактируйте настройки Web без Внимание Не редактируйте настройки Web без резервного копирования, если вы не являетесь специалистом в области HTML. Иначе результатом может явиться серьезное ухудшение качества ваших страниц. После установки прикладной системы, создайте резервную копию поля настроек Web. Когда вы редактируете базу данных настроек Web, время от времени делайте ее копию.
Вставка новых тегов, атрибутов, нумерации или других объектов в установки Web не повышает автоматически функциональность Adobe GoLive и не вставляет какие-либо новые значки в Objects Palette (Палитра объектов). Чтобы вставить новые теги, вы должны ввести их вручную в режиме Source (Исходный код) или выбрать их из выпадающих меию режима ОвШне Editor (Редактор эскиза). Элементы HTML, вставлеийме лойьзоватеяем, принимаются проверкой синтаксиса как прдайльные. Если вы допустите ошибку во время редактирования настроек Web, то всегда сможете восстановить,основные настройки. Чтофы просмотреть настройки Web, сначала надо их открыть. Для этого следует выполнить команду меню Edit | Web Settings (Правка | Настройки Web).
Вкладка Global (Основные) —
Прежде чем вставлять новые элементы Внимание Прежде чем вставлять новые элементы в настройки Web, проконсультируйтесь с документацией консорциума W3C на его сайте www.W3C.org, чтобы избежать использования неподдерживаемых тегов на вашей странице.
Удаляется любой элемент чрезвычайно просто. Выделите его и нажмите клавишу . To же самое можно сделать, выбрав команду Delete (Удалить) в контекстном меню. Если вы добавили новый тег, то необходимо дать ему имя на панели Basic (Основное) палитры Inspector (Инспектор), описать его функции и установить различные опции, зависящие от его структуры и содержания. Чтобы редактироветь тег, сначала его необходимо создать, ввести его имя без угловых скобок в текстовом поле Name (Наименование) и нажать клавишу < Enter>. Далее введите описание в текстовом поле Comment (Комментарий) и нажмите клавишу < Enter>. Затем в выпадающем списке Stractare (Структура) следует указать структурный уровень нового тега.
Значение Block (Блок) создает элемент блочного уровня, который может содержать другие элементы, такие, как тег .
Значение Inline Visible (Видимый) создает элемент, который имеет видимое содержание HTML. Этот элемент может находиться только в пределах содержащего элемента, такого, как тег .
Значение Inline Invisible (Скрытый) создает элемент, который может существовать только в пределах содержащего элемента, но сам по себе невидим (хотя и влияет на визуальные качества содержания HTML), такой, как тег .
Значение Inline Container (Контейнер) создает элемент-контейнер, который может существовать только в пределах другого содержащего элемента. Он может иметь как HTML содержание, так и видимое содержание HTML, как например, тег .
Значение Inline Killer (Разрыв строки) зарезервировано для использования с тегом <Ьг>.
Тип содержимого тега и правила обработки этого содержимого указываются при помощи выпадающего списка Content (Содержание), чтобы определить, как. Adobe GoLive трактует содержание тега.
Значение Normal (Стандартный) заставляет Adobe GoLive рассматривать содержание так, как оно было указано в списке Structure (Структура).
Значение .Get All Spaces (Сохранять все пробелы) заставляет Adobe GoLive отображать текстовое содержимое тега без ликвидации двойных пробелов. Например, эта опция позволяет Adobe GoLive адекватно отображать пробелы в теге <рге>.
Значение Соте Text (Чистый текст) указывает, что содержимое тега следует. отображать без добавления .или удаления каких бы то ни было элементов. Например, эта опция позволяет Adobe GoLive читать и писать информацию не входящую в обычный HTML, содержащуюся в теге
Некоторые теги нуждаются в применении закрывающих близнецов, некоторые, как например, , нет. Поэтому Adobe GoLive предоставляет разра-бфийку возможность указать необходимость закрывающего тега. Для этого служит выпадающий список Bid Ifcg (Конечный тег). Элементы этого списка указывают, когда следует использовать закрывающий тег.
Required (Обязательный) указывает, что тег нуждается в своем закрывающем близнеце, и Adobe ОоШе предполагает его наличие.
Optional (do not write) (Необязательный, по умолчанию не писать) отмечает, что тег не обязательно нуждается в конечном теге и что Adobe GoLive не предполагает его применение.
Optimal (write) (Необязательный, по умолчанию писать) отмечает, что тег не обязательно нуждается в конечном теге, но что вы хотите, чтобы Adobe GoLive вставил его.
Для любого тега в панели настроек Web вы можете указывать некоторые параметры отображения содержимого тега на вкладке Output (Вывод) в палитре Inspector (Инспектор). Чтобы установить основное форматирование для содержимого текущего тега, выделите тег на панели HTML окна настроек Web. В палитре Inspector (Инспектор) на вкладке Output (Вывод) используйте один из выпадающих списков.
Outside (Внешние) задает вертикальное расстояние между самими тегами и другими элементами над и под ними.
Inside (Внутренние) задает вертикальное расстояние между начальным и конечным тегами и их содержимым.
Для любого тега внутри настроек Web вкладка Version (Версия) , палитра Inspector (Инспектор) позволяет указывать целевую версию,браузера или стандарта HTML и устанавливать обычные атрибуты. Настройки Web описывают поведение браузера, использующего определенные наборы тегов, атрибутов и перечней. Если вы создаете обычный тег, вы можете указать, должна ли проверка синтаксиса отмечать его как ошибочный или верный.
и настройки на вкладке Version Внимание Исходные свойства установок браузера и настройки на вкладке Version (Версия) палитры Inspector (Инспектор) не влияют на то, как Adobe GoLive пишет HTML-код; также они не влияют на то, как ваши страницы отображаются браузерами.
Если вы добавляете в тег новый атрибут, вы должны дать ему имя на панели Basic (Основное) палитры Inspector (Инспектор), описать его функции И установить требуемый статус и значения атрибута. Чтобы отредактировать атрибут, создайте его и введите наименование в текстовое поле Attr Name (Имя Атрибута). Затем введите его описание в текстовое поле Comment (Комментарий) и нажмите клавишу . Выберите тип атрибута, из выпадающего списка Attribute Is (Атрибут является).
Optional (He обязателен) показывает, что атрибут не обязателен для браузера, чтобы правильно интерпретировать тег.
Required (Требуется) указывает, что атрибут должен быть обязательно использован браузером, чтобы правильно интерпретировать тег.
Alternate (Возможен) показывает, что обе вышеуказанных функции приемлемы. Проверка синтаксиса Adobe GoLive не будет маркироватьдег как ошибочный, если атрибут пропущен.
При помощи выпадающего списка Value Type (Тип значения) разработчик может задать тип значения редактируемого атрибута.
Text (Текст) допускает любой буквенно-цифровой ряд знаков в кодировке Weaern. Используйте эту функцию, если вы не уверены по поводу применения кодировки.
Encoded Text (Кодированный текст)допускает любой буквенно-цифровой ряд знаков в любой кодировке.
Number (Число) допускает только цифровое значение.
Enumeration (Перечисление) указывает, что атрибут имеет перечислимый тип.
Color (Цвет) допускает только цветовой код RGB.
URL допускает только универсальный локатор ресурса (Universal Resource Locator).
JavaScript допускает только JavaScript-код.
Взведите флажок в независимом переключателе Create this attribute (Создать этот атрибут) и введите значение нового атрибута в поле Value (Значение). Как известно, HTML использует специфическую систему обозначения для специальных знаков, которые не входят в распространенные кодировки. Вкладка Characters (Символы) окна настроек Web включает такие специальные символы, которые описаны в ISO 8859-1 и поддерживаются стандартами HTML3.2 и выше. A4obe GoLive использует содержание вкладки Characters (Символы), чтобы управлять работой с подобными символами. Эти символы разделены на три категории.
Basics (Основные) содержит часто используемые специальные знаки, такие, как зяаки кавычек, знак &, знаки "больше" (>) и "меньше" (<).
Characters'(Символы) представляет списком полный набор знаков западных языков.
General Punctuation (Общая пунктуация) включает варианты пробелов и тире.
Каждый знак имеет свое имя в HTML, визуальное изображение, коды Мае OS и ISO и текстовое описание. Если знак не может быть отображен в системном шрифте, в колонке Char (Символ) панели Characters (Символы) он не отображается. При вставке новых символов руководствуйтесь изложенными ниже принципами.
Новые символы должны быть утверждены консорциумом W3C. Только так можно гарантировать, что они будут поддерживаться браузерами.
Mac OS не отображает некоторые символы которые отображаются на других платформах. Чтобы предварительно просмотреть символы вы, вероятно, будете должны запустить браузер.
Символы, которые являются характерными для Mac OS, могут быть вставлены, но они не будут отображаться в браузерах других платформ.
Вкладка Browser Profiles (Профили браузеров) содержит установленные по умолчанию списки стилей для всех основных браузеров Windows и Mac OS. Они, в первую очередь, применяются для предварительного просмотра страниц. Они позволяют вам увидеть, как шрифты и другие элементы дизайна отображаются в Windows и Mac OS, но не влияют на то, как Adobe GoLive пишет HTML-код.
Не путайте эти, установленные по Внимание Не путайте эти, установленные по умолчанию, списки стилей со списками стилей, которые вы создаете и на которые ссылаетесь, используя тег
Динамические стили Листинг 7.4
<1;11;1е> Динамические стили1:11:1е> <р> Первый стиль o<$opwieHHH <р> Второй стиль oфopмлeния <п!> 3аголовок первого уровняп!> <р> Пример обычной строки текстар>
Пример обычной строки текста Листинг 7.5
flMHdMM4ecKMe CTi«iJi Пример обычной строки текстар>
Динамическое позиционирование Листинг 7.6
<1;11:1е> Динамическое позиционирование1:^1е> Первый a63au Второй a63au
Абсолютное позиционирование Листинг 7.7
е> Абсолютное позиционирование<^^1е> <р> 3амороженный текстр>
Первый a6aau Bтopoй a6aau Третий a63au Четвертый a63au Пятый a63au
Возраст Листинг 7.8
06pa6oTKa
В этом документе для проверки Листинг 7.9
"http://www.w3.org/TR/html4/strict.dtd">
06pa6oTKa <$opM
В этом документе для проверки значения, введенного пользователем, мы используем событие onChange, которое инициируется после того, как пользователь перейдет от поля ввода к какому-либо другому органу правления Web-страницы. То есть, это событие отрабатывается непосредственно перед событием onBlur. Итак, пользователь ввел некоторое значение в интересующее нас поле. Теперь мы перехватываем событие onChange и проводим проверку введенного значения. Значение мы получаем в качестве свойства value. Доступ к текущему полю получим при помощи свойства srcElement объекта event. А затем остается при помощи условного оператора if проверить, удовлетворяет ли введенное значение необходимым условиям. В том случае, если значение не удовлетворяет наложенным условиям, мы при помощи оператора alert отображаем информационное окно с соответствующим текстом (Рисунок 7.9). При помощи подобной технологии мы можем проверять все вводимые пользователем данные на соответствие неким условиям, которые определяются разработчиком Web-страницы. Как мы уже говорили, это помогает избежать досадных ошибок, которые неизбежно будут возникать из-за невнимательности пользователей, без дополнительного обращения к приложению, обрабатывающему данные.
Объектная модель Объектная модель
В предыдущем разделе, мы уже отмечали, что JavaScript потдерживает возможность работы с объектами, и что набор объектов фиксирован, т. е. разработчик не может добавлять в него свои объекты. Все доступные объекты JavaScript представлены в виде разветвленной иерархии. Так же необходимо отметить, что все эти объекты относятся именно к окну просмотра HTML- документа в браузере. Каждый объект является совокупностью его свойств, методов и событий. Методы, как мы уже говорили — это некие действия, которые можно произвести с данным объектом, а события — это различные ситуации, возникающие при работе с объектом и адекватно отображающие изменения его состояния. Для каждого объекта набор его свойств, методов и событий уникален, поэтому все объекты необходимо рассмотреть максимально детально. Иерархия объектов для программ-скриптов является единственной возможностью динамически управлять отображением Web-страниц. Фактически, это интерфейс доступа к внутренним механизмам браузера. И для того, что бы наши скрипты, реализующие возможности DHTML, могли работать в любом браузере, очевидно необходимо, чтобы объектные модели для всех браузеров совпадали. К сожалению, полного соответствия не произошло, и каждый браузер пользуется своей объектной моделью. Но различаются эти модели только в незначительных деталях, основные характеристики одинаковы для всех браузеров. По сути дела, производители браузеров лишь попытались добавить нечто свое к общепринятой модели. В этой книге мы не будем рассматривать эти дополнения и изменения, и на т. е. веская причина. Еще несколько лет назад достаточно часто можно было встретить в Сети Web-странице с надписями "Эта Web-страница лучше всего отображается в браузере", и указывалось наименование того браузера, которому благоволил разработчик Web-страницы. К счастью, в последнее время в среде разработчиков все-таки распространилось мнение о недопустимости подобного поведения, поэтому всегда необходимо стараться создать Web-страницу, которая бы максимально одинаково отображалась во всех основных браузерах. Исходя из этих же соображений, мы рассмотрим только стандартную объектную модель DHTML, которая одинаково функционирует в каждом браузере. Прежде чем мы перейдем к непосредственному рассмотрению объектов, следует сделать некоторое уточнение. Дело в том, что некоторые объекты в Web-страницах могут существовать только в единственном экземпляре, как например, объект window, олицетворяющий окно просмотра, а некоторых объектов может быть много. Так например, графические изображения, внедренные в состав содержимого Web-страницы, создают такое множество однотипных объектов. Подобные множества называются коллекциями, и больше всего похожи на массивы однотипных объектов. Доступ к какому-либо конкретному элементу коллекции производится при помощи указания наименования коллекции и порядкового номера интересующего нас элемента. А вот теперь настало время перейти к непосредственному рассмотрению всего множества объектов, которым мы можем пользоваться для добавления некоей динамики и интерактивности к статичному содержимому наших Web-страниц. Как мы не раз уже говорили, основой всего является объект window, который позволяет нам оперировать с окном просмотра браузера. Естественно, данный объект обладает набором свойств, методов и событий, который мы и рассмотрим. Следует отметить, что в этой части главы мы устроим лишь "обзорную экскурсию" по объектной модели, а примеры использования объектов рассмотрим немного позже. А сейчас вернемся к объекту window. Как известно, пользователь может открывать несколько копий программы-браузера, а значит, мы будем иметь несколько объектов window. Если при этом в качестве еодежимого этих окон используются Web-страницы, взаимное вязанные между собой гиперссылками, то объекты window также связываются друг с другом при помощи некоторых свойств. Сейчас как раз пришло время рассмотреть все свойства объекта window.
Свойство client содержит информацию о браузере, используемом пользователем для просмотра данной Web-страницы. Свойство имеет статус "только для чтения", т. е. его значение не может быть изменено в процессе действия программы-скрипта.
Свойство status содержит текстовую строку,отображающуюся в строке; статуса в нижней части окна программы-браузера.
Свойство defauitstatus содержит текст, отображаемый в строке статус по умолчанию,
Свойство opener является ссылкой на окно просмотра, которое было открыто из текущего окна. То есть, в данном свойстве находится ссылка на дочернее окно;
Свойство parent является ссылкой на родительское окно,, из которого открыли текущее.
Свойство пате содержит наименование текущего окна.
Свойство self содержит ссылку на данное окно, в сущности, при помощи этого свойства объект ссылается сам на себя.
Свойство top содержит ссылку на самое первое окно в иерархии связанных друг с другом окон.
Свойство closed имеет логический тип и сообщает, закрыто или открыто данное окно.
diaiogArguments — переменная параметр, или массив параметров, передаваемых диалоговому окну.
diaiogHeight — высота диалогового окна в пикселах.
diai.ogwidth — ширина диалогового окна в пикселах.
dialogic — вертикальная координата верхнего левого угла диалогового окна в пикселах.
diaio.gi.ef t — горизонтальная Координата верхнего левого угла диалогового окна в пикселах.
returnvalue — применяется в модальных окнах диалогов, содержит значение, возвращаемое родительскому окну:,
Помимо свойств, естественно, имеется и список методов. Они реализованы в виде функций.
Метод alert(messagestring) создает окно сообщения. Текст собщения передается к параметре.
Метод confirm(messagestring) отображает подтверждающее окно, текст которого передан в функцию в качестве параметра. Окно отличается от предыдущего наличием дополнительной кнопки Отмена.
Метод snowModalpialogturl (url, header, attributes) создает модальное диалоговое окно. В параметрах передается URL отображаемого файла, заголовок окна и атрибуты создаваемого окна.
Метод open(uri, header, attributes) открывает новое окно браузера. В параметрах передается URL HTML-документа, который будет отображаться в этом окне, заголовок нового окна просмотра и его параметры.
Метод close () закрывает данное окно.
Метод setTimeout (expression, time, language) создает таймер, который вычислит выражение или выполнит действие спустя определенное время. Выражение или код действия передается в параметре expression, язык, на котором оно записано — в параметре language, а время, по истечении которого произойдет вычисление выражения или выполнение инструкций,— в параметре time. Функция возвращает идентификатор, который предоставляет возможность управлять созданным таймером впоследствии. Одновременно можно создавать несколько таймеров с уникальными идентификаторами.
Метод setinterval (expression, time} по своему действию очень похож на предыдущий метод setTimeout, но в отличие от него производит заданное действие не единожды, а многократно, каждый раз перед выполнением делая паузу, длительность которой указана в параметре time.
Метод ciearTimeout(timerid) ликвидирует созданный таймер. В качестве параметра передается идентификатор ликвидируемого таймера, Который был получен как возвращаемое значение функции setTimeout.
Метод clear interval (timerid) ликвидирует повторяющийся таймер, созданный при помощи метода setinterval. В качестве параметра передается идентификатор ликвидируемого таймера.
Метод focus () устанавливает фокус ввода на данное окно. Одновременно инициализируется осбытне onfocus.
Метод blur () принудительно сбрасывает фокус ввода с окна. Инициализируется событие onbiur.
Метод prompt(message, defa«lt_value) создает ОКНО с полем ввода и текстом подсказки. Текст подсказки передается в параметре message, а значение, находящееся в поле ввода по умолчанию — в параметре default_value.
Метод execscript (script, language) выполняет блок кода, который передается в параметре script, а в параметре language — язык, на котором он написан.
Метод scroll (mode) позволяет принудительно показывать и скрывать) полосы прокрутки в окне просмотра браузера. Для отображения полос | необходимо передать в параметре значение yes, для выключения — по.
Необходимо более тщательно рассмотреть метод open, при помощи которой создается новое окно просмотра браузера. Параметры uri и header достаточно понятны, а параметр attributes'мы не упомянули. Он представляет собой текстовую строку, в которой через запятую записываются пари "свойство—значение". Подобным способом указывается внешний вид создаваемого окна. Перечислим атрибуты создаваемого окна просмотра.
fullscreen — открыть окно в полноэщшшом режиме или нет. Для полноэкранного режима необходимо значение i или yes, в ином случае — о или по. Эти значения используются и во всех других параметрах, которые указывают на наличие или отсутствие некоего свойства у вновь создаваемого окна просмотра.
status — регулирует наличие строки состояния. Значения параметра полностью совпадают со значениями предыдущего параметра.
menubar — указывает на использование строки меню в новом окне просмотра.
scrollbars — будут ли присутствовать полосы прокрутки.
resizable — будет ли пользователь иметь возможность изменять размеры нового окна просмотра.
toolbar — регулирует наличие инструментальной панели.
width — указывает ширину окна просмотра. В качестве значения указывается количество пикселов.
height — указывает высоту нового окна просмотра. Как и в предыдущем параметре, значение указывается в пикселах.
top — вертикальная координата верхнего левого .угла окна просмотра.
left — горизонтальная координата верхнего левого угла окна просмотра.
Приведем пример использования метода open. Следующая конструкция предназначена для создания нового окна просмотра браузера, в котором будет отображаться основная .страница поискового ресурса www.yahoo.com. В заголовке будет находиться строка "Поисковая система", а само окно будет иметь панель быстрых кнопок и строку меню. Верхний левый угол окна будет находиться в точке с координатами (100; 100), а его размеры — 400 пикселов по вертикали и горизонтали: Выглядеть вызов метода для создания такого окна будет следующим образом:
open("http://www.yahoo.com", "Поисковая система", "menubar=yes, toolbar-yes, top-100, left-lQO,,"!;
У метода showModaioiaiog в качестве третьего параметра тоже передается строка атрибутов создаваемого диалогового окна. Но они не совпадают с набором свойств окна просмотра браузера, поэтому их придется перечислить отдельно.
diaiogTop —вертикальная координата верхнего левого угла диалогового окна.
diaiogLeft — горизонтальная координата верхнего левого угла диалогового окна.
diaiogHeight — высота диалогового окна в пикселах.
diaiogwidth — Ширина диалогового окна в пикселах.
center — указывает на то, будет или нет диалоговое окно выводиться в центре экрана. Значения могут быть yes или по.
border — позволяет выбрать внешний вид границы окна. На выбор предоставляется две вариации: "толстая" и "тонкая" границы. Указание конкретного варианта производится при помощи одного из двух возможных параметров: thin или thick.
font — предназначендяя установки шрифта, .который будет использован в оформлении диалогового окна. В качестве значения параметра используется выражение CSS.
font-family —Устанавливает семейство применяемого шрифта.
font-style — позволяет указывать стиль применяемого шрифта, т. е. используемое начертание: полужирный, курсив, и т. д.
font-weight — указывает величину используемого шрифта.
font-variant — модификатор, указывающий, какие буквы будут использоваться в шрифте: строчные или прописные, чей размер не будет превышать размер строчных букв.
help — регулирует наличие кнопки помощи в верхнем правом углу окна, на строке заголовка. Могут быть использованы значения yes или по.
minimize — указывает на наличие или отсутствие кнопки минимизации окна в верхнем правом углу диалогового окна.
maximize — указывает на наличие или отсутствие кнопки распахивания окна на весь экран в верхнем правом углу диалогового окна.
Формат указания атрибутов для диалогового окна немного отличается от порядка указания атрабутов окна просмотра. В данном случае они записываются не через знак равенства, а черед двоеточие. Приведем пример:
ShowModalDialog("dial.html", "New dialog", "border:thin, minimize-yes, center:yes, font-family:Courier, font-style: Bold");
При помощи этого метода мы создаем диалоговое окно, в котором будет отбражатьея содержимое HTML-файла dialhtml, в заголовке будет находиться текстовая отрока New dialog, диалоговое окно будет установлено в центре экрана, его можно будет свернуть а использоваться в нем будет моноширинный шрифт Courier с полужирным начертанием. А теперь перейдем к рассмотрению списка событий, которые возникают при работе с объектом window. В состав данного объекта входит девдаь событий.
Событие onblur возникает в тот момент, когда текущее окна просмотра теряет фокус ввода, т. е. становится неактивным.
Событие onfocus инициируется:в момент получения окном фокуса ввода. То есть, по своей сути данное событие противоположно предыдущему.
Событие onerror возникает, если происходит ошибка при загрузке какого-либо ресурса, входящего в состав отображаемой Web-страницы. Чаще всего событие применяется для обработки ошибок загрузки графики и видеовставок.
Событие onload инициируется сразу после того, как заканчивается загрузка Web-страницы в браузер.
Событие onhelp инициируется, если пользователь нажал клавишу или кнопку оперативной справки.
Событие onscroii возникает, когда пользователь использует прокрутку содержимого окна просмотра при помощи линеек прокрутки.
Событие onresize возникает, когда пользователь изменяет размеры окна просмотра.
Событие onbefpreunioad инициируется перед выгрузкой Web-страницы из браузера с маленькой временной задержкой, что позволяет провести некоторые операции, такие, как сохранение данных.
Событие onunioad инициируется уже непосредственно в момент выгрузки Web-страницы из браузера.
На этом список свойств объекта window заканчивается. Таким образом, мы полностью рассмотрели структуру этого основного объекта. Теперь самое время перейти к другим объектам, которые детально описывают иные механизмы браузера и содержимое Web-страницы. Как мы говорили, объект window является основой всей объещной иерархии, и все остальные объекты входят в его состав. Эти дочерние объекты мы можем разделить на два типа. Одни из них открывают доступ к частям отображаемой Web-страницы, а другие позволяют нам оперировать отдельными элементами самого браузера. Вот с этих объектов мы и начнем. Объект location предоставляет нам доступ к URL текущей Web-страницы. Прежде всего, мы рассмотрим описание его свойств.
Свойство href — содержит URL текущего документа. Если в процессе работы программы-скрипта этому свойству придается новое значение в виде URL, то браузер автоматически загружает в окно просмотра документ, находящийся по этому адресу.
Свойство hostname — имя Web-сервера, указанное в URL, не включающее в себя явно указанный номер порта, на котором функционирует этот Web-сервер.
Свойство host — имя Web-eepaepa» объединенное с номером порта, если тот указан явно.
Свойство port — номер порта, на котором функционирует Web-сервер, чье имя указано в URL данного документа.
Свойство pathname — путь к HTML-документу в файловой системе сервера.
Свойство hash — имя локальной гиперссылки, не включающее в себя знак #.
Как видно, при помощи этих свойств мы можем полностью разобрать URL документа на составляющие. Что делать с ними потом, каждый решает для себя сам. У объекта location есть и методы. Их всего три:
Метод reload позволяет осуществлять принудительню перезагрузку данного HTML-документа.
Метод replace (uri) загружает в окно просмотра браузера новый HTML-документ, URL которого передается в метод в качестве параметра. При этом изменяется и обвект history.
Метод assign (uri) переназначает URL для данного окна просмотра, но принудительного перехода по новому адресу, который передается в качестве параметра, не производится.
Каких-либо специфичных событий объект location не имеет. Адреса всех посещенных Web-ресурсов записываются в один список, и перемещение между ними осуществляется при помощи кнопок Back (Назад) и Forward (Вперед) любого браузера. Этот список доступен при помощи объекта с наименованием history. Обычно применяется три метода этого объекта.
Метод forward () загружает следующий документ из списка загруженных ранее документов, фактически, аналог нажатия удаленным пользователем кнопки Forward (Вперед) в своем браузере.
Метод back о загружает предыдущий документ из общего списка. Дублирует кнопку браузера Back (Назад).
Метод go (offset) смешается по списку на величину, которая передается в параметре и загружает документ с данным URL. При положительном значении параметра смещение происходит вперед по списку, при отрицательном — назад.
Длина списка URL посещенных Web-страниц хранится в свойстве length. Теперь рассмотрим объект navigator, предназначенный для получения данных об используемом, удаленным пользователем, браузере. Существование этого объекта обусловлено тем, что в результате "браузерных войн" основные браузеры Internet Explorer и Netscape Navigator по-разному интерпретируют некоторые тега HTML. У них не совпадают иерархии объектов, используемых в сценариях. Именно потому, если мы хотим создать HTML-документ, который будет максимально адекватно отображатся в обоих основных браузерах, мы должны получить информацию об используемом браузере, и на ее основании формировать страницу. Свойства объекта navigator перечислены в следующем списке.
Свойство appName содержит наименование браузера.
Свойство appveysion — номер версии браузера.
Свойство appCodeName — наименование технологии, на которой работает браузер, часто называемой "движком" (engine).
Свойство cookieEnabied указывает на то, разрешено ли сохранение cookie в данном браузере.
Свойство us Agent содержит наименование браузера в том виде, в котором оно передается при помощи HTTP-протокола.
В состав Объекта navigator ВХОДИТ еще Два Объекта; mimeTypes И plugins, которые на самом деле являются не просто объектами, а коллекциями. Коллекция mimeTypes содержит различные типы MIME (способы кодирования передававемой информации), которые используются данным браузером. А при помощи коллекции plugins мы можем получить доступ к любому расширению браузера, установленному в качестве дополнения к стандартной поставке. Помимо знания используемого браузера необходимо иметь информацию об установленном разрешении монитора удаленного пользователя. Для этого мы можем использовать свойства объекта screen.
width — разрешение экрана по горизонтали.
height — разрешение экрана по вертикали.
coiorDepth — количество битов, используемых для указания цвета каждого пиксела. То есть, по сути это, глубина цвета.
update interval—частота обновления экрана.
Данный-объект не имеет даже методов, так как вея работа с ним происходит путем изменения значений его свойств. Мы видели, что большинство рассмотренных нами объектов не имеет обособленных событий. Связано это с тем, что большинство событий, происходящих при работе браузера, обрабатывается при помощи специализированного объекта event, который и несет информацию о большинстве подобных событий. В любой момент мы можем обратиться к одному из его свойств и получить информацию о каком-либо изменении статуса или произошедшем действии пользователя. Список свойств данного объекта достаточно обширен по сравнению с другими объектами и выглядит следующим образом.
Свойство aitKey указывает, нажата или нет клавиша в данный момент.
Свойство button показывает состояние кнопки мыши в момент запроса.
Свойство canceiBubbie запрещает событиям проходить вверх по объектной иерархии. Дело в том, что у многих объектов существуют одинаковые события, и в момент возникновения подобного события, оно сначала обрабатывается у активного объекта, а затем это же событие могут обрабатывать все родительские объекты. Если же значение свойства canceiBubbie установить в True, то это событие будет обработано лишь один раз и не будет передано по объектной иерархии вверх.
Свойство ciientx содержит координату текущего объекта по горизонтали.
Свойство clientY содержит координату текущего объекта по вертикали.
Свойство fctrlKey указывает, нажата или нет клавиша в данный момент.
Свойство fromEiement указывает на элемент, с которого пользователь увел курсор мыши. Данное свойство обычно применяется при обработке событий onmpuseout И onmouseover.
Свойство keyCode содержит код ASCII клавиши, нажатой пользователем.
Свойство of fsetx содержит смещение по горизонтали в пикселах курсора мыши от элемента, при обработке которого было инициировано событие.
Свойство offsetY содержит смещение по вертикали в пикселах курсора мыши от элемента, при обработке которого было инициировано событие.
Свойство reason является индикатором успешной передачи данных. Если передача не удалась, в данном свойстве указывается причина.
Свойство returnvalue содержит значение, которое будет возвращаться данным событием.
Свойство screen x содержит абсолютную горизонтальную координату курсора мыши в пикселах относительно самого экрана.
Свойство screen y содержит абсолютную вертикальную координату курсора мыши в пикселах относительно экрана.
Свойство shi ftкеу указывает, нажата или нет клавиша < Shift> в данный момент.
Свойство srcEiement ссылается на исходный, самый нижний объект в иерархии, при работе с которым было инициировано данное событие.
Свойство srcjFiiter используется только вместе с событием onf iiterexchange и содержит указатель на графический фильтр, который и породил это событие.
Свойство toEieraent указывает на элемент, на территории которого находится в данный момент курсор мыши.
Свойство type содержит тип иницииррванного события. На самом деле, в качестве значения данного свойства используется наименование события без первьк двух символов "on".
Свойство х содержит горизонтальную координату курсора мыши.
Свойство у содержит вертикальную координату курсора мыши.
Объект event является именно информационным объектом, поэтому большинство его свойств имеют статус "только для чтения". Мы можем изменять значения только двух свойств: keycode и returnvaiue. Теперь мы перейдем к рассмотрению объектов, которые описывают саму отображаемую Web-страницу. Основой этой ветви объектной иерархии является объект с наименованием document, который открывает нам доступ к операциям с Web-страницей, отображаемой в окне просмотра браузера. Естественно, в силу того, что данный объект является основой всей соответствующей ветви объектной иерархии, он обладает достаточно обширным списком свойств, .методов и событий. Начнем рассмотрение объекта document c его свойств.
Свойство activeEiement содержит ссылку; на тот элемент управления Web-страницы, который в данный момент обладает фокусом ввода.
Свойство alinkcoior содержит обозначение цвета, которым отображаются активные гиперссылки.
Свойство bgcolor позволяет определять цвет фона загруженной Web-страяйаы.
Свойство body в качестве значения содержит все наполнение Web-страницы, находящееся между тегами и . Естественно, свойство имеет статус "только для чтения".
Свойство cookie содержит строку cookie, т. е. некоей информации» которая при зафузке Web-страницы записывается на локальном компьютере удаленного пользователя. Цри помощи технологии "cookie" разработчики Web-страниц могут сохранять некоторую информацию о посетителе страницы на его же компьютере и, таким образом, персонализиро-вать работу Web-сайта с пользователями.
Свойство domain содержит доменное имя сайта, с которого была подучена загруженная Web-страница.
Свойство fgcoior содержит определение цвета, применяемого для отображения текста по умолчанию.
Свойство lastModified содержит, строку с рсазанием даты последнего изменения данной Web-страницы.
Свойство linkdoior содержит обозначение цвета, которым отображаются ссылки, еще не активированные пользователем.
Свойство location задает полный URL загруженной в браузер Web-страницы.
Свойство parentwindow указывает на родительское окно, из которою было открыто текущее окно.
Свойство readystate показывает текущий статус загрузки данного HTML-документа. В качестве значения данного свойства применяется число от единицы до четырех. Значение "1" указывает, что документ еще не инициализирован и загрузка его в браузер не началась. Значение "2" обозначает, что загрузка началась, но еще не закончилась. Значение "з" указывает, что загрузка закончена, но документ еще не отображен в окне просмотра. Значение "4" обозначает, что Web-страница полностью загружена, отображена в браузере и полностью готова к работе.
Свойство referrer содержит URL страницы, которая ссылается на текущую Web-страницу загруженную в браузер. То на ту, с которой пользователь и перешел на текущую страничку,
Свойство title содержит заголовок данной Web-страницы, заключенный между тегам» и .:. »
Свойство URL содержит полный URt'Web-страницы, загруженной в браузер. Фактически дублирует свойство location, но у иных объектов может отличаться от него.
Свойство viinkcoior определяет цвет, которым отображаются ссылки, уже посещенные пользователем.
На этом список свойств объекта document заканчивается, и мы переходим к рассмотрению его Методов.
Метод createEiement (teg) срздает HTML-объект, наименование тега которого задано в качестве параметра данного метода. Так, если мы хотим создать на нашей Web-странице дополнительное графическое изображение, следует ВЫПОЛНИТЬ Метод document. createEiement {*IMG").
Метод clear о очищает содержимое Web-страниц.
Метод close () закрывает документ» ас ним и текущее окно просмотра.
Метод eiententrrcmiPoint(x,y) возвращает HTML-объект,который находится в точке с координатами, переданными методу в качестве параметров.
Метод execcommand(command) выполняет некую операцию, код которой, передан в качестве параметра, над выделенной областью Web-страницы.
Метод open (type) создает новый документ, mime-тип которого передается в качестве параметра и открывает новое окно просмотра для отбраже-ния создаваемого документа. Метод обычно применяется для создания Web-страниц с динамически создаваемым содержимым, поэтому в качестве параметра передается строка "text/html".
Метод queryCommandEnabled(command) ПОЗВОЛЯеТ определять, МОЖНО ЛИ выполнять данную команду над выделенной областью Web-страницы.
Метод queryCcOTnandindetermfcommand) сообщает, какой статус имеет данная команда.
Метод queryCoramandstate (command) возвращает в качестве своего значе-ния.текущее состояние данной команды. Может использоваться для контроля над выполнением переданных исполняемых инструкций.
Метод queryeoramandsupported (command) указывает, поддерживается ли данная команда браузером пользователя.
Метод queryCoraaandText (command) возвращает текстовое выделение, к которому применяется команда, переданная методу в качестве параметра.
Метод write (text) записывает в тело документа новый HTML-код, который передается в качестве параметра. Таким образом можно динамически формировать содержимое Web^cfpammsi без использования CGI-приложений.
Метод writein (text) позволяет записывать в тело документа HTML-код, но при этом дописывает в конце добавляемого блока символ перевода каретки.
Как видно, практически все методы объекта document предназначены для динамического формирования его содержимого. Немного позже мы увидим, как это делается, а пока перейдем к рассмотрению списка событий, которые могут возникнуть при работе с данным объектом.
Событие onftf terupdate возникает, когда пользователь при работе с формой, размещенной на Web-странице, отослал свои данные на сервер, и тот успешно принял и обработал их.
Событие onBeforeUpdate инициируется в том случае, если пользователь ввел данные в форму, но вместо их отправки попытался выгрузить страницу из браузера.
Событие onclick происходит в момент, когда пользователь производит на документе одиночный щелчок мышью.
Событие onDbiciick возникает в момент двойного щелчка мышью на одном из элементов загруженной Web-страницы.
Событие onDragstart инициируется в тот момент, когда пользователь начинает перетаскивать при потйющи мыши какой-либо элемент загруженной Web-страницы.
Событие onError инициируется щда наличии ошибки в сценарии или в случае возникновения ошибки.,при передаче каких-либо данных, например, графических изображений.
Событие onHeip возникает в тот момент, когда пользователь нажимает клавишу .
Событие onKeyDown возникает, когда пользователь нажимает какую-либо клавишу. Какая именно клавиша была нажата, мы можем узнать при помощи объекта event.
Событие onKeyPress постоянно генерируется в то время, когда пользователь нажал какую-либо клавишу и еше не отпустил ее.
Событие опкеуир возникает, когда пользователь отпускает ранее нажатую клавишу.
Событие onLoact инициируется в тот момент, когда загрузка HTML-документа в браузер полностью заканчивается.
Событие onMouseoown возникает в тот момент, когда пользователь нажимает какую-либо кнопку мыши.
Событие onMouseMove постоянно генерируется при перемещении пользователем мыши.
Событие onMbuseOut возникает, когда пользователь уводит курсор мыши с данного объекта.
Событие onMouseOver возникает при попадании курсора мыши на объект.
Событие onMouseup инициируется в тот момент, когда пользователь отпускает заранее нажатую кнопку мыши.
Событие oaReadystateChange инициируется каждый раз, когда по каким-либо причинам изменяется значение свойства readystate.
Событие onseiectstart инициируется в тот момент, когда пользователь начинает выделять мышью некую часть Web-страницы.
На этом заканчивается список событий, которые могут возникать при работе с объектом; document. Мы рдсемотреяи полностью структуру этого объекта. Но мы уже говорили что он является "родителем" для многих других объектов, которые более детально описывают элементы Web-страниц. Необходимо рассмотреть и их. Мы уже видели, что объекта document существует свойство body, которое содержит все тело Web-страницы. Но страницы с фреймовой структурой вообще не содержат тег . И здесь мы можем работать с коллекцией фреймов, которая носит наименование frames. Мы уже говорили, что коллекции, по сути, являются массивами, состоящими из объектов. Так, если нам надо получить доступ к какому-либо фрейму, мы можем сделать это либо при Помощи его порядкового номера, дибо при помощи его наименования. Так, например, если самый верхний фрейм нашей Web-страницы носит наименование "topframe", то обратиться к нему мы можем при помощи двух эквивалентых конструкций:
window.frames(0) window,frames{"topframe")
Как мы помним, нумерация в массивах, а, следовательно, и в коллекциях, начинается с нуля. Но для циклической обработки коллекции нам необходимо будет знать не только стартовый номер, но и общее количество элементов, входящих в состав данной,коллекции. Поэтому следует знать, что для каждой коллекции существует служебное свойство length, которое содержит количество элементов в коллекции. Следует помнить, что количество элементов и порядковый номер последнего элемента — разные вещи, так как нумерация открывается нулем. Из приведенного примера видно, что для доступа к элементу коллекции стоит сначала указать родительский объект. Наименования объектов разделяются точками. Каждый элемент коллекции frames функционально эквивалентен объекту window, поэтому обладает всеми его свойствами, методами, событиями и встроенными объектами, исключая объекты, обеспечивающие доступ к внутренним механизмам браузера, такие как history и navigator. Следовательно, каждый элемент коллекции frames имеет встроенный объект document со всем его содержимым. Объект document, как мы знаем, полностью описывает Web-страницу, отображаемую в окне просмотра браузера или фрейма. Следовательно, в состав этого объекта должны входить другие объекты и коллекции, которые смогут предоставить нам доступ к любому HTML-блоку, к любому тегу. Рассмотрим список этих объектов и коллекций с кратким описанием каждого из них.
Коллекция links содержит все гиперссылки и области, сформированные тегами <агеа> на данной Web-странице.
Коллекция forms обеспечивает яеступ ко всем формам данного HTML-документа. Соответственно, каждый элемент этой коллекции содержит в качестве своих составных частей объекты, позволяющие обращаться к различным органам ввода данных, из которых и состоит форма.
Коллекция anchors содержит все закладки на странице, доступ к которым осуществляется при помощи гаперссылок.
Коллекция linages предназначена для хранения объектов графических изображений, внедренных в состав содержимбго Web-страницы.
Коллекция scripts обеспечивает доступ ко всем программам-сценариям, которые были вставлены в код HTML-документа при помощи тега
Как видно, в этом случае мы лишь присвоили логическое значение "Истина" данному свойству. Этого достаточно для того, чтобы отменить обработку данного события всеми вышестоящими элементами. В предыдущем разделе мы уже рассматривали струкутру объекта event «знаем, что даный объект при помощи своих свойств предоставляет детальную информацию обо всех событиях, которые входят в состав технологии DHTML. Следует также упомянуть, что различные элемента! Web-страниц могут реагировать на разные события. Возможный список событий определяется функциональностью каждого конкретного элемента Web-страницы. Чтобы однозначно определить, какой тег какими событиями обладает, приведем таблицу соответствий.
В элементах списка мы меняем Внимание Необходимо учитывать, что нумерация в коллекциях ведется с нуля.
В элементах списка мы меняем только текст, отображаемый в окне просмотра. Значение, передаваемое в обрабатывающую программу не модифицируем. А для того, чтобы изменить текст элементов списка, мы воспользовались соответсвующим свойством text. Также изменению подвергался текст абзаца с идентификатором рз. Для того, чтобы изменить его текстовое содержимое, мы воспользовались свойством innerText, присущим данному элементу. Данное свойство содержит только текст, находящийся между граничными тегами данного элемента.
Бизнес в интернете: Сайты - Софт - Языки - Дизайн