我正在使用一些 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";
...
框架图像.css是:
.selector {
background-image: url("icon1.png");
}
但是当我试图添加到我的 html 元素类“选择器”时,Firefox 开发工具显示它试图从这里加载图标:
http://localhost:1234/Content/~/Content/Folder1/Folder2/icon.png
虽然正确的路径是(我对吗?):
~/Content/Folder1/Folder2/icon.png
要不就
http://localhost:1234/Content/Folder1/Folder2/icon.png
那么哪里会出错呢?如何告诉客户使用正确的路径?
PS 如果重要的话,我使用的是 dotless (Less css)。换句话说,所有.css实际上都是.less。
PPS 这是 ASP.NET MVC4 应用程序。
更新: 正如@djfarrelly 指出的那样,问题出在background-image: url(...)中的路径不正确。我已将其更改为:
background-image: url("/Content/Folder1/Folder2/Icon1.png");
它开始工作了。但我还是很困惑。谁能解释为什么没有完整路径指定它不能工作?