Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Журнал Начинающего ВебМастера 55, 2011-04-23 11:18



Здравствуйте,



Как добавить картинку на веб-страницу?

Для добавления изображения в документ применяется тег <img>, его атрибут src определяет путь к графическому файлу, который должен быть в формате GIF, PNG или JPEG. Также для тега <img> необходимо указать обязательный атрибут alt, он описывает альтернативный текст, видимый при загрузке изображения или отключении картинок в браузере.

В HTML

<img src="путь к файлу" alt="альтернативный текст">

В XHTML

<img src="путь к файлу" alt="альтернативный текст" />

Если графический файл находится в одной папке с HTML-документом, то в качестве пути достаточно указать только имя файла

Пример: Добавление картинки на веб-страницу

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Дзен</title>
</head>
<body>
<p><img src="images/dzen.png" alt="Дзен" /></p>
</body>
</html>

 

Учтите, что когда на странице применяется строгий <!DOCTYPE>, тег <img> допустимо размещать только внутри блочных элементов вроде <p> или <div>.
Почему изображение не показывается на сайте?

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


Несовпадение регистра

В большинстве случаев в качестве операционной системы веб-сервера выступают Unix-подобные системы, которые различают регистр файла. Иными словами, файлы с именами PIC.gif, pic.gif и Pic.gif являются разными. При обращении из HTML-кода эту особенность необходимо учитывать и писать адрес изображения следует именно так, как он записан в системе. Чтобы не возникало путаницы, обычно договариваются, что все имена файлов и папок пишутся в нижнем регистре, также хранятся и документы.


Неверный адрес файла

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


Использование локального адреса

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


Проверка изображений

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

Проверка графического файла заключается в определении его целостности — файл не должен быть поврежден и обязан без проблем отображаться в браузере. Для этого в браузере достаточно ввести полный локальный путь к файлу, например file:///с:/www/girl.jpg.

HTML-код должен содержать правильный адрес графического файла с учетом регистра. Как указывалось выше, желательно имена всех файлов писать строчными символами. Так, следующее написание может привести к тому, что файл перестанет отображаться.
<img src="../images/Girl.Jpg" alt="Фотография">

Если файл записан на сервере как girl.jpg, то обращение к нему в примере некорректно.

При добавлении картинок с помощью программ для редактирования HTML-документа, программы нередко указывают локальный путь к графическому файлу, который начинается с ключевого слова file:///. Например, рисунок находится по адресу c:\www\images\sample.gif, тогда путь к нему будет записываться как file:///c:/www/images/sample.gif. Браузер при открытии документа просматривает путь и ищет по указанному адресу изображение. Естественно, на соседнем компьютере указанной папки, скорее всего, нет, как нет и запрашиваемого файла, поэтому рисунок не отображается.

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

Пример 1: Изображение, которое видно только на моем компьютере


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Пути</title>
</head>
<body>
<p><img src="file:///y:/home/webref/www/images/screenshot.png"
alt="Дизайн" width="150" height="90" /></p>
</body>
</html>

Чтобы устранить указанный недостаток, необходимо искоренять локальные адреса и заменять их относительными. Тогда значение параметра src в примере 1 заменится на images/screenshot.png. В примере 2 показаны варианты указания адресов изображений на странице.

Пример 2. Адреса изображений

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Пути</title>
</head>
<body>
<p><img src="images/1.png" alt="Путь к файлу 1.png, расположенному в папке images"
width="150" height="90" /></p>
<p><img src="/images/2.png" alt="Папка images лежит в корне сайта"
width="150" height="90" /></p>
<p><img src="../images/3.png" alt="Перейти на уровень выше в иерархии папок и
открыть файл 3.png, расположенный в папке images" width="150" height="90" /></p>
</body>
</html>

Установил путь к рисунку как /images/pic.gif, но рисунок не отображается на веб-странице. Почему?

Слэш (символ /) перед именем файла или папки обозначает, что отсчет ведется от корня сайта. Соответственно, путь /images/pic.gif следует понимать так. В корне сайта находится папка с именем images, а в ней располагается файл pic.gif. Данный способ записи работает под управлением веб-сервера, поэтому на локальном компьютере браузер интерпретирует путь как c:/images/pic.gif, а такой папки и файла, вероятнее всего, нет.

Пример: Путь к файлу относительно корня сайта


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Путь к файлу</title>
</head>
<body>
<p><img src="/pic/sample.gif" alt="Пример" width="150" height="90" /></p>
</body>
</html>

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

 

 



 © 2010 LORD-EXPERT     • Web Master   • Site     •


заработок на архивах

Ваши комментарии к рассылке. Архив рассылки


Общение/вопросы/и т.д.




В избранное