【发布时间】:2013-05-26 01:58:16
【问题描述】:
我不明白这里发生了什么,因为当我自己拥有这段代码时它正在工作(在 FireFox 中):
@font-face {
font-family: 'mmfont';
src: url('/scripts/mmfont.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
然后我以完全相同的方式添加了第二种字体,但只有第一种有效:
@font-face {
font-family: 'mmfont2';
src: url('/scripts/mmfont2.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
然后我使用字体生成器为 IE9 获取 EOT 文件并为我生成 @font-face 代码,但现在这两种字体都无法在任何浏览器中运行(我尝试过 IE9、FF12、Chrome 和 Safari5)。
然后我将 @font-face CSS 放在它自己的“/scripts/fonts.css”文件中,这样字体和 CSS 就在同一个文件夹中,我尝试直接使用这两个 URL('mmfont.ttf ') 和 webroot 文件夹 ('/scripts/mmfont.ttf') 但仍然没有任何方法可以工作。
我做错了什么?
更正:
我在调用第一个字体“mmfont”时有一个错字我这样做了:font-family: mm_font 但现在我修正了错字,再次只有第一个字体与下面的代码一起使用,第二个字体 mmfont2不管用。我试图重新排列顺序(首先定义第二个字体),但它仍然无法正常工作。所以现在我认为我的字体文件有问题,所以我会尝试获取另一个副本,看看情况如何。
更新:
代码似乎没有任何问题。我使用 FireBug 对 fonts.css 文件进行源代码编辑,当我将“mmfont2”的 url 重命名为“mmfont.ttf”(第一种字体的 URL)时,它更新了页面和加载的字体,但是当我将它重命名为“mmfont2.ttf”,它又回到了浏览器的默认字体。所以我现在确定这是字体文件而不是代码的问题。
我使用的第二种字体似乎不是网络兼容字体。有趣的是,事实证明,同一种字体一直都有另一个别名“Century Gothic”,这是一种网络安全字体,可以在所有浏览器中使用,甚至无需链接任何文件!!
(我不知道我是否应该关闭或删除这个问题)
/scripts/fonts.css
@CHARSET "ISO-8859-1";
@font-face {
font-family: 'mmfont';
src: url('/scripts/mmfont.eot');
src: url('/scripts/mmfont.eot?#iefix') format('embedded-opentype'),
url('/scripts/mmfont.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'mmfont2';
src: url('/scripts/mmfont2.eot');
src: url('/scripts/mmfont2.eot?#iefix') format('embedded-opentype'),
url('/scripts/mmfont2.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
/index.html
<link rel="StyleSheet" href="/scripts/fonts.css" type="text/css">
目录
/
/index.html
/scripts/
/scripts/mmfont.ttf
/scripts/mmfont.eot
/scripts/mmfont2.ttf
/scripts/mmfont2.eot
/scripts/fonts.css
【问题讨论】:
-
您能否发布一个JS Fiddle 或类似的演示,让我们看到它的实际效果?不过,显然你必须链接到你的字体文件。因此可能存在(潜在的)许可问题。
-
可能不是解决方案,但在
<link>标签中添加type=text/css。 -
另外,从 /scripts 文件夹中已经存在的 css 文件中删除
/scripts目录指示。 -
@poepje 哎呀,我补充了,但是是的,它不是解决方案。是的,正如我在帖子中提到的那样,我确实删除了 URL 的
/scripts/部分 -
@DavidThomas 我目前在本地主机上工作,所以我无法上传字体,它是一种有许可证的字体,所以我无法上传它