flask能加载css但是不能加载css里使用的图标字体

新手上路,请多包涵

今天使用flask去加载图标字体时,遇到了一个问题,偶然情况下找到了解决方法,一直想不通,求各位讲解一番。我使用flask-bootstrap,字体使用FontAwesome。
这是我的项目文件:
这是我的项目文件

我的css文件如下:

@font-face {
font-family:'FontAwesome';
src:url(../fonts/fontawesome-webfont.eot-v=4.1.0);
src:url(../fonts/fontawesome-webfont.eot-#iefix&v=4.1.0)
format('embedded-opentype'),url(../fonts/fontawesome-webfont.woff-v=4.1.0)
format('woff'),url(../fonts/fontawesome-webfont.ttf-v=4.1.0)
format('truetype'),url(../fonts/fontawesome-webfont.svg-v=4.1.0#fontawesomeregular)
format('svg');
font-weight:normal;
font-style:normal
}
.fa {
    display:inline-block;
    font-family:FontAwesome;
    font-style:normal;
    font-weight:normal;
    line-height:1;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale
}
.fa-power-off:before {
    content:"\f011"
}

我的html文件如下

{% extends "bootstrap/base.html" %}
{% block head %}
    <link rel='stylesheet' id='style-css' href="{{ url_for('static',filename='themes/style.css') }}"  type='text/css' media='all' />
{% endblock %}

{% block content %}
    <section class="container">
        <div class="speedbar">
            <div class="pull-right">
                <i class="fa fa-power-off">
                </i>
                <a href="" >
                    login
                </a>
            </div>
        </div>
    </section>
{% endblock %}

我使用url_for('static',filename='themes/style.css')去加载css文件,并且能加载使用的图标文件,但是我使用url_for('static',filename='themes/css/style.css')时能加载css文件,却不能加载使用的图标文件,思考了很久,非常困惑,希望大家能讲解一下为什么?

阅读 6.4k
1 个回答

这个问题很大可能是路径问题。从你截图的路径来看的话,用url_for('static',filename='themes/css/style.css') 与 url(../fonts/fontawesome-webfont.eot-v=4.1.0) ,这样应该不会有错。你可以看看,这样用之后,用chrome检查network中,fontawesome-webfont.eot-v=4.1.0的完整链接是什么,应该能够找到问题的原因。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题