为什么@ font-face不起作用?

时间:2013-04-07 13:08:45

标签: css fonts font-face custom-font

我正在尝试使用@font-face在我正在设计的网站上使用自定义字体。我无法弄清楚为什么这次不能正常工作。我以前用过它没问题。

这是我的代码(不是来自实际网站,而是我用来测试问题的简化版本):

HTML

<!DOCTYPE html>
<html>
<head>
<title>My Page</title>
<link rel="stylesheet" type="text/css" href="./css/stylesheet.css">
</head>
<body>
<p>Loremm ipsum</p>
</body>
</html>

css(我离开了重置)

/*--------------------------*/
/*----------RESET-----------*/
/*--------------------------*/

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    font-family:myfont;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/*-------------------------*/
/*-----------MAIN----------*/
/*-------------------------*/

@font-face {
    font-family:myfont;
    src:url('./fonts/myfont.ttf'),
        url('./fonts/myfont.eot');
}

我的index.html位于html/

我的字体文件位于html/fonts/

我的css位于html/css/

有人能看到问题吗?

我已经在chrome和firefox中对此进行了测试,它在我的计算机上进行编辑。

2 个答案:

答案 0 :(得分:1)

我要猜测你的src是相对于你的CSS文件位置而你的'./'没有让你到达正确的目录。给src一个绝对地址到你的字体,并确保它以这种方式工作。

我也看不到你将font-family应用到任何元素的位置。

答案 1 :(得分:0)

我一直遇到@font的问题。希望这会对你有所帮助。

style.css(获取ota,woff,ttf和svg字体类型)。确保您可以通过HTML指令找到字体。例如。如果它位于html / fonts /那么url应该是fonts / blah.eot。

 @font-face {
     font-family:'Carrosserie-Medium';
     src: url('../webfonts/FAFC3_0.eot');
     src: url('../webfonts/FAFC3_0.eot?#iefix') format('embedded-opentype'), url('../webfonts/FAFC3_0.woff') format('woff'), url('../webfonts/FAFC3_0.ttf') format('truetype'), url('../webfonts/FAFC3_0.svg#wf') format('svg');
 }
 @font-face {
     font-family:'Carrosserie-Thin';
     src: url('../webfonts/FAFC3_1.eot');
     src: url('../webfonts/FAFC3_1.eot?#iefix') format('embedded-opentype'), url('../webfonts/FAFC3_1.woff') format('woff'), url('../webfonts/FAFC3_1.ttf') format('truetype'), url('../webfonts/FAFC3_1.svg#wf') format('svg');
 }
.Carrosserie-Medium {
    font-family: Carrosserie-Medium;
    font-weight: normal;
    font-style: normal;
}
.Carrosserie-Thin {
    font-family: Carrosserie-Thin;
    font-weight: normal;
    font-style: normal;
}

实施

h2#tagline {font-size:30px;font-family:'Carrosserie-Thin', sans-serif; }

HTML

<h2 id="tagline">Try this.</h2>