2

我已经从 fontello 下载了一个自定义图标字体,并打算在我的流星应用程序中使用它。我尝试了下载包附带的演示,字体显示正常。这是我的CSS:

@font-face {
 font-family: 'fontello';
 src: url('fonts/fontello.eot?98991264');
 src: url('fonts/fontello.eot?98991264#iefix') format('embedded-opentype'),
   url('fonts/fontello.woff?98991264') format('woff'),
   url('fonts/fontello.ttf?98991264') format('truetype'),
   url('fonts/fontello.svg?98991264#fontello') format('svg');
font-weight: normal;
font-style: normal;
}

[class^="icon-"]:before, [class*=" icon-"]:before {
 font-family: "fontello";
 font-style: normal;
 font-weight: normal;
 speak: none;
 display: inline-block;
 text-decoration: inherit;
 width: 1em;
 margin-right: .2em;
 text-align: center;

 /* For safety - reset parent styles, that can break glyph codes*/
 font-variant: normal;
 text-transform: none;

 /* fix buttons height, for twitter bootstrap */
 line-height: 1em;

}

.icon-twitter:before { content: '\e805'; } /* '' */
.icon-github-circled:before { content: '\e804'; } /* '' */
.icon-pencil:before { content: '\e801'; } /* '' */
.icon-cancel:before { content: '\e802'; } /* '' */
.icon-chat:before { content: '\e800'; } /* '' */

我的文件夹结构/client/css/styles.css和字体一样/client/css/fonts/

在我的 html 中,我添加了这个标记<i class="icon-twitter"></i>,不幸的是,当我查看页面时,我看到的就是这一切,在此处输入图像描述 任何帮助都会很棒。谢谢

4

3 回答 3

6

如果你想引用你的字体your.domain.com/fonts/font_name.x,你应该把你的fonts目录移动到一个标有public. 然后,您可以使用 path 访问它们/fonts/font_name.x

看看这里的非官方流星常见问题解答:https ://github.com/oortcloud/unofficial-meteor-faq#where-should-i-put-my-files

public/ # <- 直接提供的静态文件,例如图像。

或者直接使用 Meteor 文档:http: //docs.meteor.com/#structuringyourapp

最后,Meteor 服务器将提供公共目录下的任何文件,就像在 Rails 或 Django 项目中一样。这是图片、favicon.ico、robots.txt 和其他任何东西的地方。

于 2013-06-05T11:28:02.140 回答
0

尝试使用绝对路径:

@font-face {
 font-family: 'fontello';
 src: url('/client/css/fonts/fontello.eot?98991264');
 src: url('/client/css/fonts/fonts/fontello.eot?98991264#iefix') format('embedded-opentype'),
   url('/client/css/fonts/fontello.woff?98991264') format('woff'),
   url('/client/css/fonts/fontello.ttf?98991264') format('truetype'),
   url('/client/css/fonts/fontello.svg?98991264#fontello') format('svg');
font-weight: normal;
font-style: normal;
}

此外,将字体存储在生产模式中可能会更好,/public因为在生产模式下/client将不再起作用,并且您将再次获得这些方块并且您可以/fonts/改用(映射到/public/fonts

于 2013-06-05T11:27:10.760 回答
0

我有同样的问题,我解决的方法是使用这些绝对路径:

@font-face {
    font-family: 'icomoon';
    src:url('/fonts/icomoon.eot');
    src:url('/fonts/icomoon.eot?#iefix') format('embedded-opentype'),
      url('/fonts/icomoon.woff') format('woff'),
      url('/fonts/icomoon.ttf') format('truetype'),
      url('/fonts/icomoon.svg#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
 }

直接在 public/fonts/ 目录下。我猜 MeteorJS 足够聪明,可以猜出路径。

于 2014-01-23T20:05:22.960 回答