Я использую некоторую структуру CSS и пытаюсь показать значок (используя селектор классов со свойством background-image). Допустим, моя файловая структура:
Content / site.css
Content / Folder1 / framework.css
Content / Folder1 / Folder2 / framework-images.css
Content / Folder1 / Folder2 / framework-icon1.png
site.css выглядит так:
@include "Folder1/framework.css";
...
framework.css например:
@include "Folder2/framework-images.css";
...
framework-images.css:
.selector {
background-image: url("icon1.png");
}
Но когда я пытаюсь добавить в свой класс html-element "селектор", инструменты разработчика Firefox показывают мне, что он пытается загрузить значок отсюда:
http://localhost:1234/Content/~/Content/Folder1/Folder2/icon.png
а правильный путь (я прав?):
~/Content/Folder1/Folder2/icon.png
или просто
http://localhost:1234/Content/Folder1/Folder2/icon.png
Так где же может быть ошибка? Как указать клиенту использовать правильный путь?
P.S. Если это важно, я использую без точки (меньше css). Другими словами, все .css на самом деле .less.
P.P.S. Это приложение ASP.NET MVC4.
Обновление. Как отметил @djfarrelly, проблема заключалась в неправильном пути в background-image: url (...). Я изменил его на:
background-image: url("/Content/Folder1/Folder2/Icon1.png");
и он начал работать. Но я все еще в замешательстве. Может ли кто-нибудь объяснить, почему он не работает без указания полного пути?