您好我有一个关于使用CSS @ font-face创建字体系列的快速问题。
传统上,我曾经设置过这样的CSS字体:
@font-face {
font-family: 'My Font Regular';
src: url('fonts/myfont.ttf');
}
@font-face {
font-family: 'My Font Bold';
src: url('fonts/myfont-bold.ttf');
}
p { font-family: "My Font Regular";}
strong {font-family: "My Font Bold";}
但是我最近发现你可以这样做:
@font-face {
font-family: 'My Font';
src: url('fonts/myfont.ttf');
font-style:normal;
font-weight:normal;
}
@font-face {
font-family: 'My Font';
src: url('fonts/myfont-bold.ttf');
font-style:normal;
font-weight:bold;
}
p {
font-family: "My Font" ;
font-style:normal;
font-weight:normal;
}
strong {
font-family: "My Font" ;
font-style:normal;
font-weight:bold;
}
我的问题是,如果我使用粗体的第二种技术,例如,文本是否仍然使用自定义.eot呈现,或者浏览器是否会尝试模拟它而不使用实际的粗体字体文件?
由于
答案 0 :(得分:0)
以下是我使用的示例:
@font-face {
font-family: 'Franklin Demi';
src: url('FranklinDemi.eot'),
url('FranklinDemi.ttf') format('truetype'),
url('FranklinDemi.svg#font') format('svg');
}
@font-face {
font-family: 'Franklin Heavy';
src: url('FranklinHeavy.eot'),
url('FranklinHeavy.ttf') format('truetype'),
url('FranklinHeavy.svg#font') format('svg');
}
.sidansTitel{
font-family: 'Franklin Demi';
font-size: 22pt;
color: #8b9ba7;
text-shadow: 0 1px 0 rgba(0,0,0,0.01);
}
.sidansTitel b{
font-family: 'Franklin Heavy';
font-weight: normal;
font-style: normal;
}
同时设置font-weight: normal;
和font-style: normal;
会使字体呈现在ie / ff / chrome中,如果没有它,它看起来像Chrome中的垃圾。我认为它看起来像Chrome中的废话,因为它试图用粗体渲染粗体字,应该由此修复。
编辑:拼写
答案 1 :(得分:0)
如果您的字体文件是粗体字体,设置font-weight: bold
将是多余的,并且不需要声明font-weight: normal
,因为这是默认值。您还应该使用超过.eot
个文件,这样您就可以像其他人一样建议使用其他浏览器。