Почему у меня возникают проблемы с запуском относительного URL css в предыдущем каталоге - PullRequest
0 голосов
/ 09 марта 2011

Я загружаю фоновое изображение с таким URL-адресом:

background-image: url(../../images/folder/imageName.png);

На некоторых страницах это работает нормально, но на других оно работает, только если я добавляю косую черту впереди, какэто:

background-image: url(/../../images/folder/imageName.png);

Это странно для меня, что это будет работать иногда, а не другие.Кроме того, мое внутреннее чувство говорит мне, что начинать эти URL с косой черты просто неправильно.

У кого-нибудь есть понимание этого вопроса?

Ответы [ 2 ]

2 голосов
/ 09 марта 2011

Запуск URL без протокола (http://, и т. Д.) Означает, что он относится к текущему документу.Если разные страницы находятся в разных папках, то файл, на который указывает относительный URL-адрес, изменится, что, вероятно, является вашей проблемой.

Запуск URL-адреса с косой чертой делает его относительным ко всему домену / поддомену, на котором находится страница,Я считаю это хорошей практикой, поэтому призываю вас использовать ее.

В вашем примере, однако, вы следуете ей с помощью ../../, которые являются подсказками «каталог выше», которые игнорируются, потому что выуже на базе домена.

0 голосов
/ 09 марта 2011

Думаю, я понял это. Моя таблица стилей находится по адресу:

 http://localhost/rootDirectory//pageName/stylesheet.css

Обратите внимание на две косые черты между rootDirectory и pageName. Кажется, что когда мои изображения использовали .. для возврата в каталоги, он обрабатывал пустое пространство между этими слешами как сам каталог (при загрузке таблицы стилей он не рассматривался как собственный каталог и не влиял на путь загрузки).

Так вот почему для некоторых таблиц стилей ../../, похоже, сработало, а для других - нет (на самом деле ../../../ вместо этого сработало)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...