Фон не работает для div, как это должно быть


У меня странная проблема с путями, этот работает (на Windows):

<div style="background:url('folder1/image.gif')...

Но это не сработает (изображение не появляется):

<div style="background:url('/folder1/image.gif')...

Тем не менее эта страница говорит прямо противоположное (не первая, а вторая версия должна работать): фон не работает для div

Кто-нибудь знает, в чем может быть причина?

4 3

4 ответа:

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

Пример, если вы получаете:

www.mywebsite.com/index.html

Он будет смотреть в: (Пример 2)

www.mywebsite.com/folder1/image.gif

Но если вы находитесь в другой папке, например:

www.mywebsite.com/subfolder/index.html

Он будет выглядеть следующим образом:

www.mywebsite.com/subfolder/folder1/image.gif

Если вы используете '/' в beggin, путь не является более относительным, он всегда выглядит в корневом веб-сайте, как exemple 2, независимо от того, где находится ваш html.

Зависит от того, где находится ваше изображение и html-файл.

'folder1/image.gif' будет выполнен поиск папки 1, расположенной в том же пути, что и ваш html-файл (относительный путь).

'/folder1/image.gif' будет искать папку 1, начиная с базового местоположения вашего сервера (абсолютный путь).

Первый-относительный путь, второй-абсолютный путь

Относительные пути показывают путь к файлу из вызывающего контекста. Итак, если ваш html-файл / source / website / test.html, относительный путь css/test.css будет указывать на файл в /source/website/css/test.css

Абсолютные пути показывают отношение ко всему пути, поэтому /css/test.css пытается найти файл в местоположении /css/test.css

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

изображение-1