【问题标题】:font-face not working in django字体在 Django 中不起作用
【发布时间】:2013-02-06 12:47:05
【问题描述】:

在 django(本地测试项目)中,我的 style.css 文件位于一个静态文件夹中,该文件夹完美运行,并且样式适用于模板。 static 文件夹包含一个图像文件夹和一个字体文件夹。图像文件夹的内容出现在浏览器中,但字体没有!!! 这是我的font-face 代码:

font-family: '‌‌‌BMitra';
src: url('fonts/BMitra.eot?#') format('eot'),
url('fonts/BMitra.ttf') format('truetype'),
url('fonts/BMitra.woff') format('woff');

我通过 firebug 检查 css,发现我的个人字体被禁用,浏览器改用 tahoma:

direction: rtl;
color: #092E20;
font-size: 24px;
font-family: BMitra, Tahoma, Arial;
text-align: right;

你如何在 django 中使用 font-face?

【问题讨论】:

  • 这个问题已经解决了吗?我有同样的问题

标签: css django


【解决方案1】:

正如您所提到的,您的目录结构是:

  • 静态
    • CSS
      • my_css_file.css
    • 字体
      • 字体1
      • 字体2

然后在您的my_css_file.css 文件中,您需要升级一个文件夹以访问字体:

url('../fonts/BMitra.ttf')

【讨论】:

  • 不,我有一个静态文件夹,有一个图像文件夹和一个字体文件夹以及一个 style.css 文件,该文件直接位于静态文件夹中。 url('fonts/BMitra.ttf') 是正确的。相同的 css 可以在 django 中使用,但在 django 中我无法使用字体
【解决方案2】:

所以万一有人仍然遇到这个问题,我在其他任何地方都找不到答案。在 CSS 内部,它不能使用相对路径,只能通过从静态文件夹开始的绝对路径,如下所示:

src: url('/static/fonts/BMitra.eot?#') format('eot'),

【讨论】:

  • 我有同样的问题,但这对我在 Django 2.0 中不起作用
【解决方案3】:

这可能是由于 CORS 问题。你的字体可以在 Chrome 上使用吗?

这可能会有所帮助:

http://html5hacks.com/blog/2012/11/18/configure-amazon-s3-for-cross-origin-resourse-sharing-to-host-a-web-font/

【讨论】:

    【解决方案4】:

    除了路径版本,你应该改变:

    src: url('fonts/BMitra.eot?#') format('eot'),
    

    到:

    src: url('fonts/BMitra.eot?#') format('eot');
    

    【讨论】:

      猜你喜欢
      • 2015-08-10
      • 1970-01-01
      • 2012-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多