бесплатные рефераты

Атрибут alt рекомендуется использовать всегда. Даже если картинка найдена браузером, задание надписи не будет лишним: стоит пользователю остановить курсор на картинке, как надпись появится в маленьком окошке и сообщит дополнительную информацию. Проверьте это на следующей картинке:

<IMG src=./pic07/cat7.gif alt="А нас и тут неплохо кормят!">

Атрибуты width = n и height = m

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

Если атрибуты не заданы, картинка рисуется в естественных размерах.

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

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

Атрибут border = n

Атрибут позволяет задать рамку иллюстрации толщиной в n пикселов.

При отсутствии атрибута, или при значении n=0 рамка не рисуется.

Ниже расположены ссылки на испытательные стенды. На них можно проверить работу атрибутов src, alt, width, height, border, как по отдельности, так и в совокупности.

Атрибут align

Этот атрибут позволяет определять положение иллюстрации по отношению к соседним элементам документа. Можно использовать следующие значения атрибута:

align=top

вертикальное выравнивание по верхнему краю

align=middle

вертикальное выравнивание по центру

align=bottom

вертикальное выравнивание по нижнему краю

align=left

горизонтальное выравнивание по левому краю

align=right

горизонтальное выравнивание по правому краю

Давайте зададим небольшой текстовый абзац и разместим внутри него картинку:

<P>

Посмотрите на картинку.

<IMG src=./pic/4.jpg align=middle>

Красивая птичка!

</P>

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

Картинка как ссылка

Очень легко заставить работать картинку как гиперссылку. Достаточно вложить команду IMG внутрь команды A:

<A href=переход><IMG src=файл></A>

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

Для картинки с часами не задан атрибут border. Тем не менее, мы видим рамку. Эта рамка появляется потому, что картинка является гиперссылкой.

Часто рамка вокруг картинки нежелательна, даже когда она означает ссылку. Ведь о ссылке однозначно говорит изменение формы курсора, а если картинка -- прозрачный GIF -- рамка смотрится некрасиво. Избавиться от рамки, даже когда картинка -- ссылка, можно явным заданием border=0.

Эти ссылки заданы так:

<A href=05ex0401.htm><IMG src=./pic/auto.gif border=0

width=200 height=68

alt="Попробуй, догони!"></A>

<A href=05ex0401.htm><IMG src=./pic/auto.gif

width=200 height=68

alt="Эх, не догнать... Посадили в клетку!"></A>

Построение таблиц.

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

Но обо всем по порядку.

Что такое таблица

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

Заголовками строк и столбцов в таблице умножения служат цифры от одного до девяти. Пользоваться таблицей очень просто. Если требуется узнать, например, результат умножения числа 6 на число 8, то нужно прочитать ответ в клетке на пересечении столбца с заголовком "6" и строки с заголовком "8". Или в клетке на пересечении строки с заголовком "6" и столбца с заголовком "8". Это все равно, потому что 6·8 = 8·6. В обеих этих клетках написано число 48.

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

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

Как задать таблицу

Таблица задается командой <TABLE> ... </TABLE>.

Внутри этих тэгов задаются строки командами <TR> ... </TR>.

Наконец, внутри строк задаются клетки (ячейки) командами <TD> ... </TD>.

Таким образом, по строкам, описывается вся структура таблицы.

Рассмотрим следующий пример.

Программа

Таблица на экране

<TABLE border=1>

<TR> <!-- Первая строка -->

<TD>(1,1)</TD> <!-- Первая ячейка -->

<TD>(1,2)</TD> <!-- Вторая ячейка -->

</TR>

<TR> <!-- Вторая строка -->

<TD>(2,1)</TD> <!-- Первая ячейка -->

<TD>(2,2)</TD> <!-- Вторая ячейка -->

</TR>

<TR> <!-- Третья строка -->

<TD>(3,1)</TD> <!-- Первая ячейка -->

<TD>(3,2)</TD> <!-- Вторая ячейка -->

</TR>

</TABLE>

(1,1)

(1,2)

(2,1)

(2,2)

(3,1)

(3,2)

Атрибуты команды TABLE

Атрибут

Значение

Описание

align

left, right

Выравнивание по горизонтали

width

число или процент

Ширина таблицы

cellpadding

число

Расстояние между содержимым ячейки и рамкой

cellspacing

число

Расстояние между ячейками таблицы

bgcolor

цвет

Цвет фона таблицы

background

файл

Фоновая картинка

border

число

Ширина линий рамки

bordercolor

цвет

Цвет линий рамки

bordercolordark

цвет

Цвет рамки (снизу и справа)

bordercolorlight

цвет

Светлый цвет рамки (сверху и слева)

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

Атрибуты команды TR

HTML-таблица состоит из строк, каждая из которых задается командой

<TR>описание ячеек табличной строки</TR>

Варьируя атрибутами команды TR, можно установить те или иные свойства одновременно для всех ячеек строки.

Атрибут

Значения

Описание

align

left, center, right

Выравнивание по горизонтали

valign

top, center,bottom, baseline

Выравнивание по вертикали

bgcolor

цвет

Цвет фона

bordercolor

цвет

Цвет линий рамки

bordercolordark

цвет

Цвет рамки (снизу и справа)

bordercolorlight

цвет

Светлый цвет рамки (сверху и слева)

Атрибуты команды TD (TH)

Каждая табличная строка состоит из ячеек, которые последовательно описываются командами TD (обычная ячейка) и (или) TH (ячейка-заголовок):

<TH>описание содержимого ячейки</TH>

<TD>описание содержимого ячейки</TD>

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

Команды TD и TH имеют следующие атрибуты:

Атрибут

Значения

Описание

align

left, center, right

Выравнивание по горизонтали

valign

top, center, bottom, baseline

Выравнивание по вертикали

width

число или процент

Ширина ячейки

bgcolor

цвет

Цвет фона

background

файл

Фоновая картинка

bordercolor

цвет

Цвет линий рамки

bordercolordark

цвет

Цвет рамки (снизу и справа)

bordercolorlight

цвет

Светлый цвет рамки (сверху и слева)

nowrap

 

Выключение автоматического разрыва строк

colspan

число

Ширина большой ячейки (в столбцах)

rowspan

число

Высота большой ячейки (в строках)

Многоликие таблицы

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

Страничные отступы

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

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

Обычное размещение

Размещение в таблице

Малютку сына - баю-бай! -
Прижми покрепче к сердцу
И никогда не забывай
Задать ребенку перцу!

"Алиса в стране Чудес"

Малютку сына - баю-бай! -
Прижми покрепче к сердцу
И никогда не забывай
Задать ребенку перцу!

"Алиса в стране Чудес"

Можно задать поля и при помощи пустых столбцов:

Размещение в таблице

Здесь border=1

 

Баюкай сына своего
Хорошею дубиной -
Увидишь, будет у него
Характер голубиный!

"Алиса в стране Чудес"

 

 

Баюкай сына своего
Хорошею дубиной -
Увидишь, будет у него
Характер голубиный!

"Алиса в стране Чудес"

 

Обычной практикой является комбинирование этих двух способов:

Размещение в таблице

Здесь border=1

 

Баюкай сына своего
Хорошею дубиной -
Увидишь, будет у него
Характер голубиный!

"Алиса в стране Чудес"

 

 

Баюкай сына своего
Хорошею дубиной -
Увидишь, будет у него
Характер голубиный!

"Алиса в стране Чудес"

 

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

 

Крокодильчики мои
Цветики речные!
Что глядите на меня
Прямо как родные?

Это кем хрустите вы
В день веселый мая,
Средь нескушанной травы
Головой качая?

"Алиса в стране Чудес"

Замечание

Не рекомендуется моделировать страничный отступ при помощи таблиц для больших документов. Во-первых, прорисовка документа, "погруженного" в таблицу начинается только после его полной загрузки. Пауза перед чистым экраном действует на пользователя самым отрицательным образом. Во-вторых, браузеры Netscape на таких табличных страницах "теряют ориентацию" при возврате из гиперссылки. Пользователь щелкает на ссылке, браузер показывает новый документ, а точность возврата к старому месту уже проблематична.

Многоколонная верстка

Используя таблицы, можно выводить на экран информацию в несколько колонок:

При свете дрянного керосинового фонаря Остап прочел из путеводителя:

"На правом высоком берегу - город Васюки. Отсюда отправляются лесные материалы, смола, лыко, рогожи, а сюда привозятся предметы широкого потребления для края, отстоящего на 50 километров от железной дороги.

 

В городе 8000 жителей, государственная картонная фабрика с 320 рабочими, маленький чугунолитейный, пивоваренный и кожевенный заводы. Из учебных заведений, кроме общеобразовательных, лесной техникум."

Наложение картинок

Еще одна необычная практика использования таблиц: построение коллажей.

Постановка задачи. Имеются две картинки:

Как их наложить друг на друга? Как поместить животное на экран телевизора?

Общая идея: первую картинку сделать фоном для таблицы, а вторую разместить внутри.

Построим таблицу, состоящую из одной клетки. Укажем для этой клетки ширину, равную ширине рисунка, который будем использовать как фон:

Да... Получилось не очень хорошо. Для задания высоты ячейки (и таблицы) создатели HTML не придумали атрибута. Мы видим только верхний кусочек фоновой картинки.

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

Нарисовать вспомогательную картинку очень просто -- это должен быть одноцветный GIF, в котором единственный цвет объявлен прозрачным. Тогда пользователь на экране эту картинку и не увидит:

Замечание

На самом деле рисовать невидимый GIF можно любой величины. Оптимальной является картинка в один пиксел. Ведь мы всегда можем указать экранные размеры в команде IMG, и наша вспомогательная картинка будет растягиваться до нужного размера. Искажений можно не опасаться -- их не будет, а кроме того, эту картинку нельзя увидеть на экране ни в какую лупу!

Для того, чтобы использование невидимой картинки empty.gif (из каталога pic) было более понятным, ниже она заменена на такую же однопикселную картинку empty1.gif, но без режима "прозрачности", а картинка с лосем показана с рамкой:

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

Уровни CSS

Впервые каскадные таблицы стилей CSS были реализованы в браузере Internet Explorer 3.0. Однако в то время развитие CSS находилось в зачаточном состоянии, поэтому правила составления стилевых шаблонов были весьма разрозненными.

С момента своего возникновения структура CSS была несколько раз пересмотрена, в нее были добавлены новые элементы и убраны (видоизменены) старые. Существуют три уровня CSS, определяемых наличием завершенной редакции структуры. Это: CSS 1 (первый уровень структуры стилевых шаблонов, окончательно утвержденный 11 января 1999 года), CSS 2 (второй уровень стилевых конструкций, начало обсуждения которого датируется маем 1998 года) и CSS 3 (третий уровень стилевого оформления электронных документов, принятый к обсуждению 23 мая 2001 года, на момент написания книги находился в стадии проработки).

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

Именно третий уровень (CSS 3) позиционируется разработчиками в качестве некой единой системы представления стилей в электронном документе, основанной на использовании специальных модулей.

Способы определения таблиц стилей

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

Определение таблицы стилей (стилевого шаблона) возможно четырьмя способами:

ссылка на внешний файл. Если все стилевые шаблоны для конкретного HTML-документа разместить в одном текстовом файле (с расширением ess), то с помощью специального тега <link> из текущего документа можно сделать ссылку на внешний CSS-файл стилевых шаблонов, например:

<LINK REL="stylesheet" TYPE="text/css" HREF="style.css">

Браузер, анализируя HTML-код, обратится по указанному пути и, обнаружив указанный файл стилевого оформления, отобразит элементы страницы в соответствии с определенными правилами CSS.

Следует помнить, что конструкция указания пути к внешнему CSS-файлу должна находиться в пределах раздела head HTML-документа;

внедрение в документ. Под внедрением в документ подразумевается задание стилевой конструкции внутри самой HTML-страницы, например:

<STYLE TYPE="text/CS3">

<! --

BODY { font-family: Arial, Helvetica; }

INPUT { background-color: ICECECE; }

-- >

</STYLE>

Данная конструкция также должна присутствовать в разделе head. Для браузеров, не поддерживающих CSS вообще или поддерживающих лишь отдельные правила стилевого оформления, описание шаблонов заключается между символами комментариев (при отсутствии поддержки CSS браузер пропустит содержание стилевых шаблонов, если же поддержка есть, то браузер интерпретирует правила CSS);

включение в теговые конструкции. Любой отдельный HTML-элемент может быть подвергнут форматированию средствами CSS. Для этого необходимо задать определенное правило реализации того или иного тега, например:

<Р ALIGN="justify" STYLE="color: 1000000; font-family: Verdana;"> Текст параграфа...

В этом случае задано отдельное правило для конкретного параграфа. Также можно присваивать отдельному HTML-элементу определенный класс стилевого шаблона:

<TABLE>

<TR>

<TD CLASS="header"X/TD>

<TD CLASS="text"X/TD>

</TR>

</TABLE>

Описание классов должно строиться следующим способом (на примере внедрения стилевого шаблона в документ):

<STYLE TYPE="text/css">

<! --

.header { font-weight: bold; color: gray; }

.text { color: black; font-size: llpx; }

-->

</STYLE>

В данном случае текст табличной ячейки класса .header будет отображаться жирным начертанием и серым цветом, а ячейки класса . text -обычным начертанием, черным цветом и размером шрифта 11 пикселов;

импортирование. Импортирование стилевого шаблона CSS, по сути, аналогично указанию ссылки на внешний файл:

<STYLE TYPE-"text/css">

<! --

@import: url(style.ess);

-->

</STYLE>

Все четыре способа определения стилевого шаблона CSS можно использовать одновременно в пределах одного HTML-документа (листинг 9.1). Такая возможность позволяет задавать основное правило CSS, к примеру, в виде внешнего файла шаблонов, а для исключительных или редких HTML-элементов -- отдельные конструкции либо в теге <style>, либо в кодовых конструкциях самих тегов.

Листинг. Совмещение различных способов определения стилевого шаблона CSS

<HTML> <HEAD>

<Т1ТЬЕ>Совмещение различных способов определения CSS</TITLE>

<LINK REL="stylesheet" TYPE="text/css" HREF="style . css"> <STYLE TYPE="text/css"> <! --

P { text-align: justify; color: green; }

.title { color: blue; font-weight: bold; font-size: 16px; } -- >

</STYLE> </HEAD>

<BODY BGCOLOR="#FFFFFF" TEXT="black" LINK="|OOFFOO" ALINK="IOOFFOO" VLINK="blue">

<FONT CLASS="title">Cnoco6bi определения шаблонов CSS</FONT>

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

<UL>

<Ы>Ссьшка на внешний файл

<Ы>Внедрение в документ

<Ы>Включение в теговые конструкции

<Ы>Импортирование

</UL>

</BODY>

</HTML>

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

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

Если внешний файл CSS включает слишком большое количество стилевых шаблонов (что отражается на конечном размере файла), то существует вероятность того, что браузер не сумеет полностью интерпретировать файл CSS или вообще исчерпает лимит времени по загрузке данных. В первом случае стили для части элементов не будут переопределены (браузер успеет "обнаружить" только те правила, которые размещены в верхней части CSS-файла). Во втором случае все элементы страницы останутся без изменения, загрузившись по умолчанию.

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

CSS и Dynamic HTML -- просто и привлекательно! 187

При сочетании различных способов определения стилевых шаблонов следует учитывать особенности браузеров. К примеру, Netscape "плохо относится" к использованию символа нижнего подчеркивания ( _ ) в указании классов для элементов HTML (.news_titie, ._about и т. д.). Также ряд браузеров (и Netscape в том числе) не подключает стилевой шаблон класса, присвоенного ячейке таблицы <то>/<тн>: конструкция <то CLASS="text">TeKCT</TD> выведет текст по умолчанию, a <tdxfont CLASS="text">TeKCT</FONT></TD> отобразит текст заданным стилем.

Запись шаблона CSS

Группировка и наследование

Любое правило таблицы стилей CSS состоит из селектора и определения шаблона.

Селектор выступает в роли указателя стилевого правила для определенного HTML-элемента или внутреннего класса (идентификатора). Определение шаблона -- это описание стилевых правил для обозначенных элементов HTML. Правила чередуются через точку с запятой и заключаются в фигурные скобки.

НЗ { color: blue; font-family: Tahoma, Verdana, Arial; }

В данном примере селектором является элемент заголовка нз, для шаблона которого следует такое определение: цвет -- синий, шрифт -- Tahoma, либо Verdana, либо Arial.

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

Сравнив запись вида:

НЗ { color: blue; }

НЗ { font-family: Tahoma, Verdana, Arial; }

И

НЗ { color: blue; font-family: Tahoma, Verdana, Arial; }

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

Другой особенностью таблиц стилей CSS является свойство наследования стилевых правил для нескольких селекторов одновременно, например:

TD, ТН, Р, DIV { text-align: justify; color: gray: font-size: Юрх; }

Такая запись назначает единый стиль отображения текстовой информации для элементов ячейки таблицы (<то>, <тн>), а также параграфов (<р>) и блоков (<div>), а именно: тивыравнивания -- по ширине, цвет -- серый, размер шрифта -- 10 пикселов.

Селекторы

В качестве селектора CSS могут выступать:

О элементы HTML. Переопределение стиля для конкретного элемента страницы:

BODY { color: orange; }

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

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

.red { color: red; }

В этом случае любой элемент HTML, позволяющий менять цвет, будет отображаться красным, если ему присвоить класс . red:

<FONT CLASS="red">TeKCT красным цветом</ГОЫТ>

ИЛИ

<HR CLASS="red">

Если мы дополним селектор класса наименованием конкретного HTML-элемента, то действие стилевого правила будет распространяться только на данный элемент:

HR.red { color: red; }

При указании классов стилевого шаблона следует внимательно следить за тем, поддерживает ли HTML-элемент присваемый типереопределения стиля. Например, запись вида:

HR { text-align: justify; }

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

идентификаторы. Запись идентификатора начинается с символа # (диез) и заканчивается наименованием:

fblack { background-color: black; }

Например, присвоив данный идентификатор тегу то, мы получим ячейку таблицы, залитую черным цветом:

<TD 1П="Ыас1<">Ячейка черного цвета</ТО>

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

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

Псевдоклассы

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

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

Согласно спецификации HTML и стандарту CSS, гиперссылка может принимать четыре состояния: непосещенная ссылка (link), посещенная ссылка (visited), активная ссылка (active) и ссылка при наведении курсора мыши

(hover). Первые три СОСТОЯНИЯ (link, visited, active) обычно ПрОПИСЫ-

ваются в теге <body> HTML-документа (уровень CSS 1). Четвертое состояние (hover) относится к уровню CSS 2 и подразумевает изменение цвета ссылки при наведении на нее курсора мыши пользователя (событие работает в браузерах Internet Explorer 4 и выше, Opera 5 и выше, Netscape 6 и выше, Mozilla 1.0; браузеры более ранних версий, а также некоторые не особенно распространенные браузеры не поддерживают состояние hover).

Эти состояния и будут являться псевдоклассами при записи правил отображения гиперссылок в стилевом шаблоне:

A:link { color: blue; }

A:active { text-decoration: underline; }

A:visited { color: gray; }

A:hover { color: orange; }

В данном случае все присутствующие в электронном документе гиперссылки будут отображаться в соответствии с заданным стилевым правилом. Однако часто возникает необходимость визуально выделить одни ссылки относительно других. Для этого наряду с псевдоклассами используются обычные селекторы классов:

A:active.red { color: red; } A:hover.red { color: blue; } A:active.white { color: white; } A:hover.white { color: black; }

Применение таблиц стилей CSS

Прежде всего следует отметить, что при определении стилевых таблиц далеко не всегда свойства стандартного HTML-элемента соответствуют описанию шаблона стиля. Например, в HTML для жирного начертания используется тег-контейнер <в> (<strong>), а в CSS -- конструкция font-weight: bold; (для элемента или селектора). Для выделения текста подчеркиванием в HTML предусмотрен тег <и>, а в CSS используется запись вида

text-decoration: underline; И Т. Д.

В рамках данной книги, посвященной применению языка разметки HTML, сложно рассказать обо всех свойствах переопределения стиля с помощью CSS. Поэтому мы остановимся лишь на некоторых аспектах использования каскадных таблиц стилей, а именно: на форматировании текста, структурном форматировании и организации пользовательских форм.

CSS в форматировании текста

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

Единицы измерения в таблицах стилей

Все единицы измерения свойств элементов в CSS можно разделить на абсолютные и относительные (табл. 9.1).

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

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

Единицы измерения CSS

Абсолютные

Относительные

in (дюйм ~ 2,5 см)

mm (миллиметр)

cm (сантиметр)

pt (пункт ~ 1/7 дюйма)

рс (пика =12 пунктов)

em (высота шрифта элемента)

ех (высота буквы х)

рх (пиксел)

% (процентное соотношение)

В табл. 9.2 приведены наиболее распространенные свойства форматирования текста в CSS.

Свойства форматирования текста в CSS

Свойство

font-family

font-size

font-style

font-weight

font-variant

text-decoration text-align text-transform letter-spacing

line-height Color Background-color

Формат записи

font-family: Tahoma, Arial;

font-size: llpx; font-style: italic; font-weight: bold;

font-variant: small-caps;

text-decoration: underline;

text-align: right;

text-transform: uppercase;

letter-spacing: lem;

line-height: 5mm; color: tFFFFFF;

background-color: white;

Функция

Выбор гарнитуры для отображения (допускается перечисление нескольких названий через запятую)

Размер шрифта

Выбор наклона текста (курсив)

Наличие/отсутствие жирного начертания

Преобразование строчных букв в прописные с изменением пропорций

Подчеркивание текста

Определение типа выравнивания текста

Выбор регистра букв Межбуквенный интервал

Межстрочный интервал Цвет текста Цвет фона текста

<FONT CLASS="text">

CSS предоставляет разработчику электронных документов гораздо более широкий набор возможностей работы с текстовой информацией, нежели стандартный HTML. Помимо способов выделения текста (<FONT STYLE="text-decoration: underline;">подчеркивание</ГОМТ>, <FONT ID="kursiv">KypCMB</FONT>, '<FONT STYLE="font-weight: bold;">жирное начертание</ГОЫТ>, <FONT STYLE= "font-family: Times New Roman;">выбор гарнитуры</ГОЫТ> и <SPAN CLASS="font">pa3Mep шрифта</ЗРШ>), с помощью средств CSS возможно <FONT С1АЗЗ="со1ог">изменять такие параметры</ГОЫТ>, как <FONT STYLE= "letter-spacing: Зрх;">межбуквенный</РОМТ> и межстрочный интервал, <FONT STYLE="text-transform: uppercase;">тирегистра</ЕОМТ> (строчные и прописные буквы) и многое другое.

</FONT> </BODY> </HTML>

Структурное форматирование

Также каскадные таблицы стилей CSS привнесли много нового и заметно расширили функциональность форматирования структурных элементов электронного документа: р, div и пр.

В табл. 9.3 приведены наиболее распространенные свойства структурного форматирования в CSS.

Таблица 9.3. Свойства структурного форматирования в CSS

list-style-image list-style-image: url(«bullet.gif");

Свойство

margin

border-width border-style border-color list-style-type

Формат записи

border-width: 20px;

border-style: solid;

border-color: gray;

list-style-type: square;

margin: Ipx 2px 3px 4px;

Функция

Ширина границы структурного элемента

Ти декоративного отображения границы элемента

Цвет границы структурного элемента

Тинумерованного или маркированного списка

Указание пути к графическому маркеру

Определение размера поля относительно верхнего, правого, ниж-

JavaScript

JavaScript - язык подготовки сценариев, позволяющий сделать Web-страницы более интерактивными и функциональными. После его изучения вы сможете заниматься разработкой Web-приложений на качественно новом уровне. Для написания сценариев JavaScript обязательно требуется знание языка HTML. В этой главе вы получите первое представление о JavaScript еще до того, как начнете создавать свой первый сценарий.

Здесь приводится следующая информация:

Q важность изучения JavaScript; а история JavaScript;

а некоторые различия между языками подготовки сценариев и языками программирования; а инструменты, необходимые для написания сценариев JavaScript.

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

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

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

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

Прочитав эту книгу, вы не только освоите JavaScript (вместо того, чтобы просто копировать и вставлять в Web-страницу готовые сценарии), но и узнаете множество интересных идей, реализовать которые вы сможете сами - с помощью JavaScript.

Важность изучения JavaScript

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

Рекомендация Запомните: единственное, что отличает пользующиеся успехом сайты от неудачных, - их внешний вид. Чем интереснее оформлен сайт, тем он популярнее.

Предупреждение Остерегайтесь использования найденных в сети сценариев, предназначенных для копирования и вставки. Как правило, они не отличаются хорошим качеством и, что хуже всего, дублируются на тысячах сайтов. Изучение JavaScript избавит вас от такой практики и позволит создавать оригинальные запоминающиеся Web-страницы.

Можно найти еще множество причин для изучения и использования JavaScript. Сценарий всего в несколько строк помогает посетителям сайта отыскать страницу, соответствующую их браузеру и установкам, либо автоматически подсчитать сумму колонок в форме заказа. Подобные «мелочи» не рассчитаны на внешний эффект, но они свидетельствуют о высоком уровне профессионализма разработчика и знании им этики деловых отношений.

JavaScript в действии

Ознакомившись с этой главой, вы сможете наконец создать свой первый сценарий. Вы начнете осваивать азы JavaScript на конкретных примерах. На ваше рассмотрение предлагается следующее:

а основные понятия JavaScript, такие как синтаксис, разметка, комментарии и др.; а некоторые термины языка JavaScript и причины, по которым он относится

к объектно-ориентированным языкам программирования; Q создание и чтение сценария JavaScript; а использование JavaScript для вывода и ввода информации.

Ввод/вывод информации с помощью JavaScript

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

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

В вычислительной технике все основано на вводе и выводе данных. Без этого ничего не происходит. Текстовый процессор не выполняет никаких действий, пока пользователь не введет какую-либо информацию (символы, набираемые на клавиатуре), и лишь затем эта информация отображается на экране, распечатывается или сохраняется на жестком диске.

Теперь вы научитесь как вводить информацию с помощью JavaScript, так и выводить ее в виде разнообразных окон сообщений. (Если вам приходилось блуждать по сети дольше нескольких минут, то вам они уже встречались.)

На рис. 3.1, 3.3 и 3.5 показаны окна сообщений трех типов в браузере Internet Explorer, а на рис. 3.2, 3.4 и 3.6 - в браузере Netscape Navigator.

Все эти окна созданы на языке JavaScript:

a Alert (Предупреждение) - служит для вывода информации;

a Confirm (Подтверждение) - предназначено для вывода информации и позволяет пользователю сделать выбор в форме ответа Да/Нет на вопрос;

a Prompt (Запрос) - служит для вывода информации и позволяет пользователю ввести ответ с клавиатуры.

Объекты, методы и свойства

Вы, вероятно, слышали о том, что JavaScript - объектно-ориентированный язык. Но что это означает? Чтобы это понять, вам следует ознакомиться с тремя терминами:

Q объекты;

а методы;

а свойства.

Сначала рассмотрим их в общих чертах. Чем дальше вы продвинетесь в изучении JavaScript, тем чаще вам придется ими пользоваться, так что более близкое знакомство оставим на будущее.

Объекты

Говоря простым языком, объект (object) - это какой-либо предмет. Подобно тому, как в реальном мире все одушевленные и неодушевленные предметы являются объектами (машины, собаки и пр.), объектами считаются и составляющие компьютерного мира.

Что касается JavaScript, его объекты находятся внутри браузера. Это, в частности, окно браузера, формы и их части, например кнопки и текстовые окна. В JavaScript также имеется собственная группа встроенных объектов, к которым относятся массивы, данные и т.д. Сейчас вам не обязательно фиксировать на этом внимание, поскольку все эти объекты будут рассмотрены позже. Пока вы должны усвоить лишь необходимые определения.

Именно благодаря наличию объектов язык JavaScript считается объектно-ориентированным. Язык организован вокруг объектов, а не действий, или, иначе говоря, ориентирован на данные, а не на логику. При объектно-ориентированном программировании первоочередное внимание уделяется объектам, с которыми производятся некоторые манипуляции, а не логическим правилам, необходимым для таких манипуляций. Преимуществом такого подхода является не только облегчение программирования (или написания сценария), но и в то, что каждое действие можно выполнить разными способами.

Методы

Метод (method) - это действия, которые может выполнять объект. В реальном мире у объектов тоже имеются какие-либо методы. Машины ездят, собаки лают, доллар покупается и т.д. В нашем случае alert () является методом объекта Window, то есть объект Window может выдавать пользователю какое-либо предупреждение в окне сообщений. Примерами других методов являются открытие и закрытие окон, нажатие кнопок. Здесь речь идет о трех методах: open (), close () и click (). Обратите внимание на круглые скобки. Они означают, что методы, в отличие от свойств, используются.

Свойства

У всех объектов имеются свойства (properties). Если вы и далее будете следовать аналогии с объектами реального мира, то обнаружите, что все предметы обладают какими-то свойствами: у машин есть колеса, а у собаки - шерсть. Что касается JavaScript, то у такого объекта, как браузер, имеется название и номер версии.

Управление данными с помощью переменных

В предыдущей главе вы научились использовать JavaScript для отображения на экране окон сообщений трех типов, служащих для ввода-вывода информации. Однако примеры сценариев, которые вы видели, не отличались гибкостью. Вы всего лишь дополняли сценарий сообщениями, которые хотели вывести на экран. Любой текст, помещенный в окне запросов, исчезал после щелчка по кнопке выбора. В данной главе вы узнаете, как изменить эту ситуацию. Здесь рассмотрено использование значений и переменных в JavaScript.

Значения в языке JavaScript

Самое ценное в нашем мире -- это информация. Каждый фрагмент информации в JavaScript рассматривается как значение (value). Так как информация может быть очень разнообразной, имеются различные категории значений. Простейшие типы данных в JavaScript принято называть основными типами (primitive types).

Три основных типа данных:

а строка (string); а число (number); а булево выражение (boolean).

Строки

Возможно, самым распространенным типом данных является строка. Строка -связанный набор символов, включающий в себя буквы, знаки препинания и цифры. В JavaScript строки чаще всего представляют собой какой-либо текст:

Здравствуйте и добро пожаловать!

Кто вы?

Мой рост - шесть футов.

Строки, вставляемые в сценарий JavaScript, заключаются в двойные или одинарные кавычки, например:

"Здравствуйте и добро пожаловать!"

Причина использования двух типов кавычек заключается в том, что двойные кавычки (") могут содержаться внутри строки, заключенной в одинарные кавычки ('), и наоборот. Например:

"J'm 6 feet tall"

'"Кто вы?" - спросил он.'

Строка может и вовсе не содержать символов. В этом случае она называется пустой строкой и обозначается пустыми кавычками:

Числа

JavaScript воспринимает два типа чисел. Это целые числа (integer) и числа с плавающей точкой (floating-point number).

Целые числа

Включают в себя положительные целые числа, например 1,2,3, отрицательные целые числа, например -1, -2, -3 и нуль - 0.

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

Примечание В книге используется только десятеричная система счисления.

Числа с плавающей точкой

Числа с плавающей точкой представляют собой числа с дробной десятичной частью:

3.1415926535897932384626433832795

Либо это числа, выраженные в экспоненциальном виде:

3.76е2

Примечание При экспоненциальной записи числа символ <se» в верхнем или нижнем регистре означает «10 в степени»-.

Число, начинающееся с нуля и содержащее десятичную точку, считается числом с плавающей точкой.

Предупреждение Число, начинающееся с нескольких нулей и содержащее десятичную точку (например, 005.5) воспринимается как ошибка.

В табл. 4.1 приводятся примеры чисел, использующихся в JavaScript, чтобы вам проще было освоиться с ними.

Большие и маленькие числа

Таблица 4.1. Примеры чисел, использующихся в JavaScript

Число

Описание

Десятичный эквивалент

91

Целое число

91

4.56е2

Число с плавающей точкой

456

0.001

Число с плавающей точкой

0.001

00.001

Ошибка

0.001

Четыре равных числа

0.001

.001

с плавающей точкой

1е-3

1.0е-3

Страницы: 1, 2, 3, 4


© 2010 РЕФЕРАТЫ