Графика на страницах (на начало урока 12)
Регистрационная метка
Выходим в Интернет (на оглавление книги)
На начало урока 12

03. Кодирование картинок

На этой странице:

Вверх Элемент IMG

Для вывода картинки на гипертекстовую страницу используют элемент IMG. Элемент задаётся одиночным тегом <IMG> и является последовательным элементом, то есть ни до, ни после него перевод строки не выполняется. Таким образом, элемент IMG, помещённый внутрь абзаца, ведёт себя подобно обычному текстовому символу.

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

Атрибут src="путь_к_файлу"

Самым главным атрибутом элемента IMG является атрибут src, при помощи которого можно задать имя файла с картинкой. Например, команда

<IMG src="img.gif"> 
      

заставит браузер отобразить на экране содержимое графического файла img.gif из текущего каталога.

Обычно графические файлы не смешивают с кодами, а помещают в отдельную папку pic — подкаталог основного каталога. Команда вывода графики будет в этом случае иметь вид:

<IMG src="./pic/img.gif"> 
      

В качестве адреса картинки можно указывать URL Интернета. Можно написать:

<IMG src="http://www.botik.ru/~robot/pic/rulogo.gif"> 
и вы увидите логотип Роботландского университета с сайта Роботландии:

Роботландский Университет

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

Одна распространенная ошибка связана с тем, что на сервере, который работает, как правило, под Unix или Linux, регистр для имени файла имеет значение. Если записать ссылку на логотип Роботландского университета так:

<IMG src=http://www.botik.ru/~robot/PIC/RULOGO.GIF>
то картинку вы не увидите.

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

Атрибут alt="текст"

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

Например, выполняя команду

<IMG src="monstr.jpg" alt="Страшный зверь"> 
      

браузер, не найдя картинку на диске, выведет на экран изображение, показанное на рисунке:

Страшный зверь

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

Кроме того, альтернативная надпись появится на экране ещё до загрузки картинки, и пользователь сможет получить по ней представление о самой картинке.

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

Сообщение “Это картинка” совсем не годится для альтернативного текста. Текст “Фото школьного здания. Четырехэтажная кирпичная постройка с липовой аллеей.” хорошо подходит для изображения, которое любят размещать на главной странице школьные сайты.

Представьте, что человек не видит картинки, а только слушает альтернативный текст. Слова “Это картинка” вызовут раздражение. Короткое “Школа” — информативнее, а текст с липовой аллеей вызовет ещё и положительную ассоциацию:

Фото школьного здания. Четырехэтажная кирпичная постройка с липовой аллеей.

Если картинка большая, то и альтернативное сообщение может быть достаточно большим. А вот на маленьких картинках длинные тексты обрезаются:

Фото школьного здания. Четырехэтажная кирпичная постройка с липовой аллеей.

Правила дизайна

Несколько специфичных правил записи альтернативного текста.

  • Для пустых картинок-распорок и декоративной графики необходимо указывать alt="" (рекомендация W3C).
  • Если заголовок или другой текст на странице выполнен в графике, то альтернативный текст должен в точности его повторять.
  • Если картинки используются как маркеры списка, записывайте в alt последовательную цифровую нумерацию. (Значение “маркер” гораздо хуже.)
  • Если картинка используются вместо элемента HR, записывайте alt="разделитель".
  • Если графическая кнопка используется для навигации, заключайте alt-значение в квадратные скобки — это один из принятых способов оформления текстовых меню. (Пример: alt="[начало]").

Часто на Web-страницах неверно используют атрибут alt как всплывающую подсказку для сообщения пользователю дополнительной информации. Для этой цели нужно использовать атрибут title.

Атрибут title="текст"

Атрибут title позволяет снабжать элементы (не только картинки) комментариями.

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

Если в теге <IMG> записаны оба атрибута, то значение alt записывается на место картинки, а значение title всплывает на экран при наезде мышиным курсором (не зависимо от того, есть картинка на экране или нет).

<IMG src="./pic/mouse.jpg" 
     alt="Мышка"
     title="Страшный зверь"> 
      

Мышка

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

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

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

Искажение картинки неверными размерными атрибутами

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

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

<IMG src="./pic/wowa.gif" 
     width=182 height=144
     alt="Вова Бякин"
     title="Мысли о сложностях сайтостроения"> 
      

Вова Бякин

Атрибут border=n

Этот атрибут позволяет задать рамку вокруг иллюстрации толщиной в n пикселов. При отсутствии атрибута или при значении n=0 рамка не рисуется.

Рамка вокруг картинки

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

Отделение картинки от страницы

Ниже показ пример кода и соответствующая ему иллюстрация.

<IMG src="./pic/1280.jpg" 
     width=309 height=400
     border=1
     alt="Shopping (Kim Anderson)"
     title="Фото с сайта www.kim-arts.com"> 
      

Shopping (Kim Anderson)

Атрибуты hspace=n и vspace=m

Атрибуты hspace и vspace определяют свободное пространство слева и справа (hspace), над и под (vspace) картинкой. Ниже, на иллюстрации, показана страничка с картинкой для которой указаны свойства hspace=0 vspace=0.

hspace = 0, vspace = 0

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

hspace = 20, vspace = 20

Атрибут align

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

  • align=top — вертикальное выравнивание по верхнему краю;
  • align=middle — вертикальное выравнивание по центру;
  • align=bottom — вертикальное выравнивание по нижнему краю;
  • align=left — горизонтальное выравнивание по левому краю;
  • align=right — горизонтальное выравнивание по правому краю.

Посмотрите, что происходит с изображением и окружающим его текстом при разных значениях атрибута align.

Испытатель

Атрибут align

Вход в испытатель

Значения left и right заставляют окружающий текст обтекать картинку, соответственно справа и слева.

Для прекращения обтекания нужно использовать элемент BR с атрибутом clear:

<BR clear=left> Прекращение обтекания справа
<BR clear=right> Прекращение обтекания слева
<BR clear=all> Прекращение обтекания с обеих сторон

Возникает вопрос: как выравнивать картинки по горизонтали без обтекания?

Решить эту задачу можно, поместив картинку в блочный элемент (например, абзац или элемент DIV). Для блока указываем нужное выравнивание соответствующим атрибутом (align) или соответствующим стилевым свойством (text-align).

Эта картинка

Картинка выровнена справа без обтекания

выровнена по правому краю без обтекания при помощи кода:

  

А эта картинка

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

выровнена по центру при помощи кода:

  

Вверх Картинка как ссылка

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

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

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

Картинка-гиперссылка

Ссылка на этой картинке задана следующим образом:

<A href=dog.htm><IMG src=dog.gif 
   width=200 height=200 alt="Собака"></A>

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

Картинка-гиперссылка, для которой border=0

Ссылка на этой картинке задана следующим образом:

<A href=dog.htm><IMG src=dog.gif border=0
   width=200 height=200 alt="Собака"></A>

Вверх Хвостатая ссылка

Попробуйте запустить в браузере такой HTML-код:

  
Посмотреть


В момент щелчка на ссылке вы обнаружите, что пунктирный прямоугольник, указывающий на то, что ссылка получила фокус, — “хвостатый”:

Хвостатая ссылка

Откуда же берётся “хвост”, и как с ним бороться?

“Хвост” — это часть гиперссылки, который возникает от пробела или конца строки за кодом картинки. Нет разделителя — нет “хвоста”:

Посмотреть

<A href=00.htm><IMG 
   src=pic.gif border=0 alt="Здесь хвоста нет!"></A>

На начало урока 12

Азы информатики RU 2000/2007 © А.А.Дуванов

Вверх Оглавление книги Урок 12. Графика на страницах Письмо автору Об авторах