generateLegend() Chart.JS V2
generateLegend() Chart.JS V2
我正在尝试自定义我的图例
我正在使用 .generateLegend() 以 html 的方式获取图例
这就是函数给我的结果
console.log(myBarChart.generateLegend());
<ul class="1-legend"><li><span style="background-color:#006666"></span>SECRETARIA MUNICIPAL DE DESENVOLVIMENTO URBANO </li>
<li><span style="background-color:#339966"></span>SECRETARIA MUNICIPAL DE SAUDE</li>
<li><span style="background-color:#3366ff"></span>SETOR DE RH</li>
<li><span style="background-color:#66ccff"></span>SECRETARIA MUNICIPAL DE CULTURA, TURISMO, ESPORTE E LAZER </li>
<li><span style="background-color:#ffcc66"></span>SETOR DE CADASTRO DE IMOVEIS</li>
<li><span style="background-color:#ff6666"></span>SECRETARIA MUNICIPAL DE DESENVOLVIMENTO ECONÔMICO, TRABALHO E MEIO AMBIENTE</li>
<li><span style="background-color:#994d00"></span>SETOR AGILIZA</li></ul>
即使是 span 样式也有它在页面中以这种方式显示的背景颜色:
城市发展局市政秘书处
沙特阿拉伯市政局
SETOR DE RH
SECRETARIA MUNICIPAL DE CULTURA、TURISMO、ESPORTE E LAZER
SETOR DE CADASTRO DE IMOVEIS
SECRETARIA MUNICIPAL DE DESENVOLVIMENTO ECONÔMICO, TRABALHO E MEIO AMBIENTE
SETOR AGILIZA
如何在 HTML 中显示在 span 样式标签中传递的颜色?
我也试过这样做,但我不明白如何让它工作(
谢谢你的时间!
更新 1
正如@Quince 指出的那样,我需要更改该函数提供给我的“1-图例”
要删除我使用的 class 名称的 1-legend
var s = myBarChart.generateLegend().replace(/\"1-legend"/g, 'legend');
这可以通过一些css来实现。首先,尽管您 css class 1-legend
无效,css class 名称不能以数字开头 (good explanation on what is allowed here)
但是一旦这个问题得到解决,你就可以设置你想要显示的跨度的样式,这里是一个例子
.legend {
list-style: none;
}
.legend li span {
width: 10px;
height: 10px;
display: inline-block;
margin-right: 10px;
border-radius: 10px;
}
<ul class="legend">
<li><span style="background-color:#006666"></span>SECRETARIA MUNICIPAL DE DESENVOLVIMENTO URBANO </li>
<li><span style="background-color:#339966"></span>SECRETARIA MUNICIPAL DE SAUDE</li>
<li><span style="background-color:#3366ff"></span>SETOR DE RH</li>
<li><span style="background-color:#66ccff"></span>SECRETARIA MUNICIPAL DE CULTURA, TURISMO, ESPORTE E LAZER </li>
<li><span style="background-color:#ffcc66"></span>SETOR DE CADASTRO DE IMOVEIS</li>
<li><span style="background-color:#ff6666"></span>SECRETARIA MUNICIPAL DE DESENVOLVIMENTO ECONÔMICO, TRABALHO E MEIO AMBIENTE</li>
<li><span style="background-color:#994d00"></span>SETOR AGILIZA</li>
</ul>
.legend {
margin-top: 30px;
ul {
list-style: none;
padding: 0;
li {
padding-left: 28px;
position: relative;
font-size: 28px;
font-weight: 600;
span {
width: 20px;
height: 20px;
position: absolute;
left: 0px;
top: 3px;
border-radius: 50%;
}
}
}
}
此外,您可以通过以下方式将 ul 粘贴到您自己的结构中:
document.getElementById('name-of-your-element').innerHTML = myBarChart.generateLegend();
我正在尝试自定义我的图例
我正在使用 .generateLegend() 以 html 的方式获取图例
这就是函数给我的结果
console.log(myBarChart.generateLegend());
<ul class="1-legend"><li><span style="background-color:#006666"></span>SECRETARIA MUNICIPAL DE DESENVOLVIMENTO URBANO </li>
<li><span style="background-color:#339966"></span>SECRETARIA MUNICIPAL DE SAUDE</li>
<li><span style="background-color:#3366ff"></span>SETOR DE RH</li>
<li><span style="background-color:#66ccff"></span>SECRETARIA MUNICIPAL DE CULTURA, TURISMO, ESPORTE E LAZER </li>
<li><span style="background-color:#ffcc66"></span>SETOR DE CADASTRO DE IMOVEIS</li>
<li><span style="background-color:#ff6666"></span>SECRETARIA MUNICIPAL DE DESENVOLVIMENTO ECONÔMICO, TRABALHO E MEIO AMBIENTE</li>
<li><span style="background-color:#994d00"></span>SETOR AGILIZA</li></ul>
即使是 span 样式也有它在页面中以这种方式显示的背景颜色:
如何在 HTML 中显示在 span 样式标签中传递的颜色?
我也试过这样做,但我不明白如何让它工作(
谢谢你的时间!
更新 1
正如@Quince 指出的那样,我需要更改该函数提供给我的“1-图例”
要删除我使用的 class 名称的 1-legend
var s = myBarChart.generateLegend().replace(/\"1-legend"/g, 'legend');
这可以通过一些css来实现。首先,尽管您 css class 1-legend
无效,css class 名称不能以数字开头 (good explanation on what is allowed here)
但是一旦这个问题得到解决,你就可以设置你想要显示的跨度的样式,这里是一个例子
.legend {
list-style: none;
}
.legend li span {
width: 10px;
height: 10px;
display: inline-block;
margin-right: 10px;
border-radius: 10px;
}
<ul class="legend">
<li><span style="background-color:#006666"></span>SECRETARIA MUNICIPAL DE DESENVOLVIMENTO URBANO </li>
<li><span style="background-color:#339966"></span>SECRETARIA MUNICIPAL DE SAUDE</li>
<li><span style="background-color:#3366ff"></span>SETOR DE RH</li>
<li><span style="background-color:#66ccff"></span>SECRETARIA MUNICIPAL DE CULTURA, TURISMO, ESPORTE E LAZER </li>
<li><span style="background-color:#ffcc66"></span>SETOR DE CADASTRO DE IMOVEIS</li>
<li><span style="background-color:#ff6666"></span>SECRETARIA MUNICIPAL DE DESENVOLVIMENTO ECONÔMICO, TRABALHO E MEIO AMBIENTE</li>
<li><span style="background-color:#994d00"></span>SETOR AGILIZA</li>
</ul>
.legend {
margin-top: 30px;
ul {
list-style: none;
padding: 0;
li {
padding-left: 28px;
position: relative;
font-size: 28px;
font-weight: 600;
span {
width: 20px;
height: 20px;
position: absolute;
left: 0px;
top: 3px;
border-radius: 50%;
}
}
}
}
此外,您可以通过以下方式将 ul 粘贴到您自己的结构中:
document.getElementById('name-of-your-element').innerHTML = myBarChart.generateLegend();