2017-08-28 1 views
0

Ich habe meine Seite CSS auf:amCharts Inherit Schriftart oder setzen Sie alle Element Font

html { 
    font-family: 'Not the Default AmCharts Font'; 
} 

Ich habe nicht eine Schriftart in meinem Chart-Code angegeben, aber die Karten sind nicht die Seite CSS definiert Schriftart vererben .

Gibt es eine Möglichkeit, die Schriftart für alle Amcharts-Elemente global auf einmal zu setzen? Etwas wie:

$('.amcharts').find('*').css('font-family', 'Not the Default AmCharts Font'); 

Keine dieser Lösungen arbeiten:

AmCharts.defaultFontFamily = 'Not the Default AmCharts Font'; 

Ich würde auch mit irgendeiner Art von jQuery-Lösung wie glücklich sein.

ich so wirklich würde zumindest beeinflussen folgendes: Diagrammtitel , Äxte Titel , Etiketten Achsen , Etiketten Graph , Luftballon Text , Legend Labels , Legend

Antwort

1

Da amCharts Werte verwendet Inline-Stile und Attribute, die Sie wahrscheinlich !important verwenden müssen, werden die Schriftarten

.yourchartclass * { 
    font-family: 'Impact' !important; 
} 

Ein weiterer Weg zu gehen, dabei ist t außer Kraft zu setzen o Verwenden Sie die Methode AmCharts.addInitHandler, um einen globalen Listener init zu erstellen, der auf beliebig vielen Diagrammen ausgeführt wird und die Eigenschaften fontFamily und andere Eigenschaften während der Initialisierung festlegt. Zum Beispiel:

AmCharts.addInitHandler(function(chart) { 
    chart.fontFamily = 'Oswald'; 
    chart.fontSize = 16; 
}); 

Sie können auch eine Reihe von Diagrammtypen angeben zu begrenzen, was die initHandler auf ausführen können. Sie können auch benutzerdefinierte Flags Ihr Diagrammobjekt hinzufügen und sie verwenden, um zu bestimmen, welche Einstellungen Sie festlegen möchten, zum Beispiel:

AmCharts.addInitHandler(function(chart) { 
    if (chart.useLato) { 
    chart.fontFamily = "Lato"; 
    chart.fontSize = 16; 
    } else if (chart.useRoboto) { 
    chart.fontFamily = "Roboto"; 
    chart.fontSize = 12; 
    } else { 
    chart.fontFamily = "Oswald"; 
    chart.fontSize = 12; 
    } 
}); 

Hier ein demo dieser ist in Aktion.

+0

Fantastisch! Ich hatte bereits die '! Wichtige' css-Überschreibung versucht, die nicht funktionierte, aber der Init-Handler war perfekt. –

+1

Seltsam, '! Wichtig' arbeitete für mich, während ich mit dem Codepen experimentierte. Sie können auch auf die Liste der [CSS-Klassennamen] (http://www.amcharts.com/tutorials/css-class-names/) verweisen, die von den Diagrammen generiert werden (Sie müssen 'addClassNames' auf" true "setzen). und gehen Sie diese Route, um die Textelemente direkt zu formatieren, wenn Sie es lieber über CSS tun. – xorspark

Verwandte Themen