捆绑css工作但字体没有加载

时间:2014-09-12 14:36:58

标签: asp.net asp.net-mvc-4

我的MVC网站中有以下文件夹结构:

  

- 内容 - 笔记本 - css

     

- 内容 - 笔记本 - 字体

内容直接位于网站的根目录下。在我的css文件夹中,我有一个具有相对路径的文件

  

URL('?../字体/ fontawesome-webfont.woff V = 4.0.3&#39)

我的套装目前看起来像:

bundles.Add(new StyleBundle("~/bundles/Content/Notebook/css").Include(
        "~/Content/Notebook/css/animate.css",
        "~/Content/Notebook/css/font.css",
        "~/Content/Notebook/css/font-awesome.min.css",
        "~/Content/Notebook/css/app.css"
));

使用

呈现
@Styles.Render("~/bundles/Content/Notebook/css")

这适用于css文件,但字体文件没有加载,我看到它在这里查找http://localhost/MySite/bundles/Content/fonts/fontawesome-webfont.woff?v=4.0.3

我看到了,然后尝试将我的包名改为

  

〜/内容/笔记本/ CSS

如果我删除了"捆绑"那么我认为这也会得到相对的工作路径。从名字, 但这样做会导致css文件无法加载。为什么不加载css文件?如果我有"捆绑"回到它再次起作用的名称。还有任何想法如何让字体与捆绑一起加载?

1 个答案:

答案 0 :(得分:4)

执行此操作时:

url('../fonts/fontawesome-webfont.woff?v=4.0.3')

您通过相对路径引用字体。如果您将CSS捆绑包放在/bundles/Content/Notebook/css,它将会显示bundles/content/fonts,因为这是您的相对路径和浏览器查看您的css文件的位置的组合。

一些可能的选择(或者):

  • 更改您的捆绑路径:

    bundles.Add(new StyleBundle("~/Content/Notebook/css") ...
    (the reason your css files didn't load when you removed bundles was that you didn't change the name of the stylebundle)
    

    @Styles.Render("~/Content/Notebook/css")
    
  • 使用绝对路径引用字体:

    url('/Content/notebook/fonts/fontawesome-webfont.woff?v=4.0.3')