有没有一种简单的方法将“font”样式属性转换为每种样式?

时间:2012-03-13 16:44:33

标签: javascript css

例如:

这是一个样式对象:

{
    font: normal normal bold 14px/14px arial,
    color: black
}

我希望更正的对象是:

{
    fontStyle: normal,
    fontVariant: normal,
    fontWeight: bold,
    fontSize: 14px,
    lineHeight: 14px,
    fontFamily: arial,
    color: black
}

我可以轻松地将字符串拆分并解析出每个属性,但有时可能不存在所有属性。例如,您可以接收类似于以下内容的样式对象:

{
    font: bold 14px arial
}

谢谢!

2 个答案:

答案 0 :(得分:0)

你遇到问题的哪个部分?每个属性都有一个属性顺序和一些可接受的值,只需跳过它们跳过没有该属性的任何有效值的属性

答案 1 :(得分:0)

如果样式实际上已应用于元素,那么在当前浏览器中您可以使用:

window.getComputedStyle(el).getPropertyValue(...)

提取各个字段的值(例如font-familyline-height