Веб-дизайн
Шрифт:
СИСТЕМЫ ПРЕДСТАВЛЕНИЯ ЦВЕТА
Самая распространенная и понятная компьютеру без перевода система RGB (от англ. «Red, Green, Blue», т. е. «красный, зеленый, синий») — не единственная. Если цвет компьютерного экрана изменяется от черного (отсутствие цвета) до белого (максимальная яркость всех трех составляющих), то на бумаге, наоборот, отсутствию цвета соответствует белый, а смешению максимального количества красок — черный (точнее, темно–бурый). Поэтому вместо системы RGB, называемой аддитивной («складывающей»), при подготовке к печати изображение
В компьютерных графических программах применяется еще одна система представления цвета — система HSV (от англ. Hue — Saturation-Value, тон–насыщенность–яркость; эту же систему называют иногда HSB, Hue — Saturation-Brightness, или HLS, Hue-Lightness-Saturation). Эта система представляет собой абстракцию, моделирующую не физические свойства цвета, а его восприятие человеком. Растровые форматы не используют систему HSV для хранения изображений, но с ее помощью очень удобно подбирать цвет при практической работе (стр. 103).
Важно помнить, что цветовой охват системы CMYK существенно уже, чем у RGB или HSV, так как на бумаге в принципе невозможно воспроизвести некоторые особо яркие и насыщенные экранные цвета. Поэтому изображения, готовящиеся для печати на бумаге, с самого начала должны рассчитывать на узкий цветовой спектр CMYK
Программирование
За всем, что мы видим не только в окне своего броузера, но и вообще на экране компьютера, стоят программы — множество программ, передающих и преобразующих информацию на длинном пути от веб–сервера к вашему экрану. В то же время сами веб–страницы не относятся к категории программ — это не более чем «мертвые» данные, лишенный самостоятельности материал.
Существуют, однако, исключения из этого правила. Интересно отметить, что если до сих пор всегда программы порождали данные и оперировали ими, то в Интернете, наоборот, данные (веб–страницы) могут включать в себя и подчинять своим целям программные вставки. Эти «островки интерактивности» — JavaScript–сценарии, Java–апплеты и даже элементы HTML-форм — до сих пор не стали и, очевидно, никогда уже не станут несущим каркасом для информации Интернета. Однако во многих случаях программирование способно с выгодой «оживить» статические веб–страницы и реализовать те функции, без которых невозможно полноценное общение с компьютером, в какой бы среде оно ни происходило.
JavaScript
Разработанный в 1995 г. фирмой Netscape для версии 2.0 своего броузера язык JavaScript до сих пор остается вспомогательным, но в то же время абсолютно незаменимым инструментом, позволяющим загруженной в броузер странице динамически управлять своим содержимым, а заодно и собственно броузером. По своему набору функций этот язык близок к макроязыкам, которые с давних пор встраиваются в любую достаточно сложную программу или систему программ. В отличие от Java, JavaScript–сценарии не замыкается в изолированном апплете (стр. 69), а свободно переплетается и взаимодействует с HTML-разметкой страницы. Будучи тесно связан с HTML, язык этот имеет сходные недостатки и очень похожий по извилистости жизненный путь.
JavaScript из Netscape 2.0 не умел почти ничего, кроме как открывать и закрывать окна броузера (стр. 198), загружать в них документы, управлять фреймами и взаимодействовать с полями форм (например, проверяя правильность введенных в них значений). Сценарий, встроенный в документ с помощью тега SCRIPT, мог вставлять кусочки HTML-кода в то место документа, в котором расположен сам, но не мог ни считывать содержимое других частей документа, ни, самое главное, изменять текст или графику документа после его загрузки на компьютер пользователя.
В третьей версии броузера Netscape набор объектов, которыми мог манипулировать сценарий, был существенно, хотя и не кардинально расширен. Стали возможными такие трюки, как плавное изменение цвета фона при загрузке страницы или «живые» меню, каждый пункт которых изменяется, когда над ним проводишь мышью (эффект «перекатывания», стр.213). Эти усовершенствования, однако, лишь разбудили аппетит веб–дизайнеров, которых все меньше устраивал произвол авторов языка: почему такой–то атрибут такого–то тега сценарий может менять динамически, а другие атрибуты этого же тега или аналогичный атрибут другого тега — нет?
Динамический HTML
Недоделанность JavaScript пришлась как нельзя более на руку компании Microsoft, как раз в это время бросившей все усилия на завоевание рынка броузеров. Еще в третьей версии Microsoft Internet Explorer язык сценариев (который фирме пришлось назвать JScript, так как марка JavaScript принадлежала Netscape) отличался от своего конкурента разве что тем, что многочисленные ошибки и упущения в его реализации были расположены в непривычных местах. В четвертой версии, однако, фирма Microsoft решила уйти в отрыв.
Как известно маркетологам, одно из главных условий успеха любой новинки — запоминающееся название. Чтобы не раздражать пользователей путаницей между JScript и JavaScript, фирма Microsoft окрестила комбинацию, включающую расширенный язык сценариев, частичную поддержку CSS2 и несколько мелких усовершенствований, словосочетанием «динамический HTML», — развернув, по своему обыкновению, массированную рекламную кампанию, подающую его как средство от всех без исключения болезней «обычного» HTML. Netscape волей–неволей должна была ответить на вызов и, скрепя сердце, объявила о поддержке динамического HTML в четвертой версии своего броузера, — хотя его возможности имели довольно мало общего с набором технологий Microsoft.
Основную идею динамического HTML можно сформулировать очень просто: полный контроль языка сценариев над всеми без исключения элементами документа, параметрами их оформления и размещения (как подразумеваемыми в HTML, так и задаваемыми с помощью CSS) и даже над самим текстом страницы. Благодаря этому любой элемент HTML-документа сможет двигаться в произвольном направлении, как угодно изменять свое форматирование и буквально переписываться — как в ответ на действия пользователя, так и по собственной инициативе. В сочетании с абсолютным позиционированием элементов средствами CSS (стр. 241) это позволяет реализовать на веб–странице почти полноценный программный интерфейс с выпадающими многоуровневыми меню (стр. 214), перетаскиванием объектов мышью и т. п.