CSS将字体分配给字体粗细

时间:2010-10-12 01:09:54

标签: css fonts

是否可以为不同的字体权重指定不同的字体?

例如,如果我有2种字体,“helvetica roman”和“helvetica bold”,我希望字体权重为500,始终显示“helvetica roman”,字体权重为700,始终显示“helvetica bold” “

我知道这个功能可以通过cufon获得,但是想用它直接用CSS。

谢谢!

3 个答案:

答案 0 :(得分:3)

如果您使用font-weight样式内联,则可以使用(example on jsFiddle

*[style~="font-weight:"][style~="500;"]
{
    /* Font 1 */
}
*[style~="font-weight:"][style~="700;"]
{
    /* Font 2 */
}

我不确定浏览器的兼容性(上面是在Firefox上测试的)。我建议改用classes。此外,这可能不是防弹。

答案 1 :(得分:0)

你把事情倒退了,但离标记不远了。使用各种标题级别(h1,h2等)并为其分配CSS!它们已经暗示了权重,每个都可以通过CSS分配一个不同的字体。

答案 2 :(得分:0)

这不是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";
}