К обязательным атрибутам я отношу src, height, width, alt, border. Они должны быть заданы во всех тегах IMG без исключения.
Если атрибут src не задан, браузеру не станет плохо. Браузеры отличаются железными нервами. Но проку от пустого тега <IMG> мало: на экране появится прямоугольник с пиктограммой внутри:
Правда, если вы смотрите на образ кода <IMG> в
Если теперь записать
<IMG src=./pic/prof.gif>то глаз пользователя порадует симпатичное изображение:
Запись ./pic/prof.gif задает относительный адрес картинки. Она говорит браузеру: возьми картинку в подкаталоге pic текущего каталога. Текущим для данной страницы считается каталог, который эту страницу содержит. Размещение изображений в отдельном месте обычная практика. Делается это ради уменьшения беспорядка в файловом хозяйстве сайта.
Типичная ошибка начинающего разработчика использование абсолютного адреса. Он пишет:
<IMG src=c:/sidorov/pic/prof.gif>Картинка рисуется, все хорошо. Однако, если сайт перенести с компьютера разработчика на сервер, профессор заменится на прямоугольник с пиктограммой ведь файловая структура сервера не совпадает с файловой структурой жесткого диска разработчика, и браузер не находит картинки.
Эта ошибка особенно характерна для любителей визуального редактирования. Обычно, визуальный редактор записывает абсолютный адрес, а новичок об этом и не подозревает.
Относительные адреса делают сайт транспортабельным, абсолютные привязывают его к файловой структуре диска разработчика.
Проверить транспортабельность сайта очень просто нужно
поместить его в другое место жесткого диска и внимательно посмотреть в
браузере: все ли картинки на месте, все ли ссылки
В качестве URL картинки можно указывать любой адрес Интернета. Можно написать:
<IMG src=http://www.botik.ru/~robot/PIC/RULOGO.GIF>и вы увидите логотип Роботландского университета с сайта Роботландии:
Но вы можете и не увидеть эту картинку, если сайт Роботландии переехал, разработчик изменил его структуру, сервер поломался или встал на профилактику. Вам не нужны дыры на страницах вместо картинок? Тогда не делайте ссылок в чужой Интернет, уж больно он непредсказуем и быстро меняется.
Как быть, если нужно разместить чужую картинку (с разрешения автора, разумеется) на своей странице? Вы сейчас видите эту картинку в своем браузере? Значит, она уже на вашем компьютере. Ее можно найти в папке Temporary Internet Files каталога Windows, а еще проще щелкнуть по картинке правой кнопкой мыши и сохранить в нужном месте, выбрав в открывшемся меню позицию Сохранить рисунок как...
Еще одна распространенная ошибка связана с тем, что на сервере, который работает, как правило, под Unix или Linux, регистр для имени файла имеет значение. Если записать ссылку на логотип Роботландского университета так:
<IMG src=http://www.botik.ru/~robot/pic/rulogo.gif>то картинку вы не увидите.
Чтобы упростить себе жизнь, записывайте имена всех своих файлов и ссылки на них только в одном регистре, например, нижнем.
Атрибуты height и width задают размеры прямоугольника, в который браузер выводит картинку. Эти размеры должны совпадать с реальными размерами картинки. Если совпадения нет, браузер растягивает или сжимает изображение так, чтобы оно полностью заполнило отведенное для него место. В итоге картинка выводится с неприятными искажениями.
В назаметке Первый закон оптимизации
Сравните эти два изображения:
Одно из них уменьшено браузером, другое графическим редактором. Правда, не надо уточнять какая картинка чем уменьшалась?
Кажется, что если, наоборот, есть маленькая картинка, а на странице нужно разместить ее в увеличенном виде, то пользоваться атрибутами height и width выгодно: получаем большое изображение с малым килобайтным весом. Да, это так. Если, конечно, вас устраивает качество увеличения. Браузер просто укрупняет точки, Фотошоп это делает по более сложному алгоритму, стараясь не ухудшить качество изображения. Но самый лучший редактор с точки зрения независимости качества от размера векторный, такой, как, например, Xara Webster. Векторный рисунок без искажений растягивается до нужного размера, а потом записывается на диск в растровом формате GIF или JPG.
Сравните эти два изображения:
Одно из них увеличено браузером, другое графическим редактором.
Еще одна оплошность не указывать значений height и width вовсе. Зачем? говорит Мячиков. Неужели браузер такой глупый, что не может прочитать размеры в самом картиночном файле?. Может. Но только тогда, когда файл уже загружен в компьютер.
Картинки загружаются в последнюю очередь. Сначала браузер получает по сети текст, отображает его на экране и пользователь приступает к чтению. Вместо картинок на странице рисуются прямоугольники, которые замещаются пришедшими по сети картинками. Если атрибуты height и width заданы, браузер рисует прямоугольники указанных размеров, если нет, то почтовые марки небольшие прямоугольные области. Когда картинка приходит по сети, случается извержение вулкана с обширным землетрясением: браузер вынужден перерисовывать экран заново, ведь картинки не лезут в отведенные для них места. Если картинок на странице много, землетрясение происходит по прибытию каждой из них.
Еще одна неприятность подстерегает пользователя, если картинки без атрибутов height и width погружены в таблицу. Так как браузер не знает нужных размеров, то рисовать таблицу до прихода картинок он вообще не станет, и пользователь засыпает у чистого экрана.
Вывод прост: нужно всегда записывать атрибуты height, width и указывать в них реальные размеры картинки:
<IMG src=./pic/nez.gif width=139 height=149>
Текст, который является значением атрибута alt (альтернативный текст), часто опускают при кодировании тега IMG, а совершенно напрасно!
Пользователь любит прогулки по Интернету с потушенными фарами отключенной в настройках браузера графикой. Зачем он так делает? Ради экономии своих денег и времени, ведь толстая графика бьет и по тому, и по другому. Если атрибут alt проигнорирован, пользователь не увидит никаких сообщений о том, какую роль играет картинка на странице. Если alt наполнен содержанием, пользователь прочитает сообщение, записанное в прямоугольник, замещающий картинку, а в некоторых браузерах увидит тот же текст, наведя мышиный курсор на место картинки.
Существуют браузеры, которые вообще не поддерживают графики, например,
текстовый браузер Lynx. Голосовой браузер pwWebSpeek предназначен для
слепых людей. Такие люди не увидят картинки, но хотя бы получат о ней
представление, услышав ее описание. Существуют браузеры, использующие
тактильный
Поисковые
Понятно, что мало написать
Сообщение Это картинка совсем не годится для альтернативного текста. Текст Фото школьного здания. Четырехэтажная кирпичная постройка с липовой аллеей. хорошо подходит для изображения, которое любят размещать на главной странице школьные сайты. Представьте, что человек не видит картинки, а только слушает альтернативный текст. Слова Это картинка вызовут раздражение. Короткое Школа информативнее, а текст с липовой аллеей еще и вызовет положительную ассоциацию:
Если картинка большая, то и альтернативное сообщение может быть достаточно большим. А вот на маленьких картинках длинные тексты обрезаются:
Огорчительно, что некоторые браузеры относятся к alt не уважительно.
Независимо от того, как браузеры интерпретируют альтернативный текст,
писать его необходимо. Около 90% пользователей видят
Вот еще несколько правил записи альтернативного текста.
Часто на
В стандарте HTML значение атрибута border по умолчанию не определено. Это означает, что если разработчик желает самостоятельно контролировать наличие рамки вокруг картинки и ее толщину, он должен обязательно указывать значение этого атрибута. Чаще всего записывают border=0.
Особое значение запись border=0 имеет тогда, когда изображение является ссылкой.
Если нулевое значение не задано, то даже в тех браузерах, в которых рамка по умолчанию не рисуется, она появится вокруг картинки-ссылки (аналог подчеркивания ссылки):
<A href=torop.htm"><IMG src=./pic/torop.gif width=115 height=150 alt="Торопыжка"></A>
От ссылочной рамки можно избавиться, если явно задать border=0:
<A href=torop.htm"><IMG src=./pic/torop.gif width=115 height=150 border=0 alt="Торопыжка"></A>