如何为图表中的所有文本设置字体属性?

How to set font attributes for all text in a chart?

我有一个带有外部 JSON 样式文件的 ZingChart(通过 cfchart)。如何为图表中的所有文本设置字体属性,例如字体系列、字体粗细、字体大小,而不是单独设置?

目前我的 JSON 文件:

{
"graphset":[
    {       
        "background-color":"white",
        "font-family":"Courier New",
        "scale-x":{
            "label":{
                "text":"Date"
            }
        },
        "scale-y":{
            "label":{
                "text":"Score"
            },
            "markers":[
                {
                    "type":"line",
                    "range":[75,76],
                    "line-color":"red"
                },
                {
                    "type":"line",
                    "range":[50,51],
                    "line-color":"yellow"
                }
            ]
        },
        "tooltip" : {
            "text" : "Score of %v on %k",
            "background-color" : "#ff9900"
        },
        "plot":{
            "marker":{
                "type":"square"
            }
        }
    }
  ]
}

我知道我可以单独添加它,比如说,所有 scale-x "item"s":

"scale-x":{
            "label":{
                "text":"Date"
            },
             "item":{ 
                "font-angle":320,
                "font-family":"Arial",
                "font-weight":"bold",
                "font-size":13
            }
        }

但我想为图表中的所有文本添加它。

您可以使用 CSS 后代选择器来执行此操作。使用图表 div 的 ID 和 tspan 元素选择器将字体系列、字体粗细、字体大小等应用于图表中的所有文本元素。 div id="zc":

处的图表呈现示例
<style>
#zc tspan { font-family: Comic Sans, Comic Sans MS, cursive !important;font-weight:bold !important;font-size:12px !important; }
</style>

Demo here

抱歉造成混淆,这里有一个非CSS的解决方案:

在您的图表 JSON 对象中,将具有所需全局属性的 "globals" 对象放在根级别(与 "graphset" 相同级别):

  {      
    "globals":{
      "font-size":20,
      "font-family":"Papyrus"
    },
    "graphset":[
      {
        "type":"line",
        ...
      }
    ]
  };

New demo here

您还可以 select 页面上带有 *(通配符)的所有元素

例如:

* { font-family: Comic Sans, Comic Sans MS, cursive !important;font-weight:bold !important;font-size:12px !important; }