JavaScript / CSS / ссылки на изображения - PullRequest
10 голосов
/ 17 декабря 2008

Мне было интересно, есть ли у кого-нибудь предпочтение ссылаться на файлы изображений / css или javascript на своих сайтах?

Причина, по которой я спрашиваю, заключается в том, что если клиент хочет разместить сайт, который мы написали, в виртуальном каталоге, то на сайте обычно должны быть изменены ссылки на файлы - даже до URL (... путь к изображению) в файлах CSS потому что мы обычно разрабатываем сайт так, как если бы он был корневым приложением - иногда клиент не знает, где он собирается разместить его, до дня, предшествующего дате отбрасывания!

Используя ASP.NET, мы можем обойти проблему в формах, ссылаясь на элементы, используя '~' при использовании компонентов сервера runat или метод Url.Content при использовании ASP.NET MVC ...

Итак, есть ли какие-нибудь хорошие решения для сохранения ссылок на файлы в общем или мы сталкиваемся с необходимостью каждый раз менять ссылки на файлы?

Ответы [ 3 ]

21 голосов
/ 17 декабря 2008

Изображения (например, background-url) в CSS всегда ссылаются относительно файла CSS.

Пример:

/img/a.gif
/css/c.css

Чтобы сослаться на a.gif из файла css, вы всегда должны ссылаться на него как ../img/a.gif, независимо от того, где находится страница или как она переписывается

6 голосов
/ 02 января 2009

Мне нравится хранить все мои изображения стилей в подкаталогах расположения таблицы стилей, например:

Site-> Style-> Common.css
Сайт-> Стиль-> Images-> Background.png

Таким образом, вы устраняете проблемы, связанные с тем, что каталоги "up" в CSS приводят к путанице или необходимости легко перемещать CSS, поскольку все они содержатся в одном каталоге.

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

5 голосов
/ 17 декабря 2008

Вы все еще можете использовать относительные адреса при навигации вверх:

например. В /styles/main.css для /images/bg.png:

background-image: url('../images/bg.png');

или /path/to/this/page.html для /index.html

<a href="../../../index.html">Home</a>

Это может быть не самым привлекательным, но это должно работать.

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