是否可以为不同的字重分配不同的字体?
例如,如果我有两种字体,“Helvetica Roman”和“Helvetica Bold”,我希望字重为500始终显示“Helvetica Roman”,而字重为700始终显示“Helvetica Bold”。
我知道这个功能在Cufon中可用,但想要使用纯CSS实现。
谢谢!
是否可以为不同的字重分配不同的字体?
例如,如果我有两种字体,“Helvetica Roman”和“Helvetica Bold”,我希望字重为500始终显示“Helvetica Roman”,而字重为700始终显示“Helvetica Bold”。
我知道这个功能在Cufon中可用,但想要使用纯CSS实现。
谢谢!
如果你正在使用font-weight
样式内联,那么你可以使用(jsFiddle上的示例)
*[style~="font-weight:"][style~="500;"]
{
/* Font 1 */
}
*[style~="font-weight:"][style~="700;"]
{
/* Font 2 */
}
我不确定浏览器兼容性(以上在Firefox上测试过)。我建议使用类
代替。此外,这可能不是百分之百可靠的。
这不是 CSS 的实际用法。你应该使用类或标签,最好是具有语义意义的类或标签。你不应该根据样式信息(如字体重量)分配样式,而应该根据语义信息(如“这个有 Header
类吗?”或“这个被标记为 strong
吗?”)来分配样式。
.Header /* or h1, h2, h3, h4, h5, h6, or strong, or any combination of these */
{
font-family: "Helvetica Bold";
}
.Normal /* or just body, and everything will inherit it unless overriden */
{
font-family: "Helvetica Roman";
}
你把事情弄反了,但离准确不远。使用不同的标题级别(h1、h2等),并为它们分配CSS!它们已经隐含了权重,并且每个标题都可以通过CSS分配不同的字体。