Шрифт фиксированной ширины потрясающий во всплывающей подсказке HighCharts

#highcharts #font-awesome

Вопрос:

Я пытаюсь добавить значки Font Awesome во всплывающую подсказку HighCharts. Проблема, с которой я сталкиваюсь, заключается в том, что значки Font Awesome имеют разные размеры, поэтому во всплывающей подсказке они выглядят немного неровными. В чистом html это легко исправить, чтобы убедиться, что все значки имеют одинаковую ширину. Однако я не мог понять, как это сделать во всплывающих подсказках HighCharts, потому что я использую Юникод значков Font Awesome.

Это моя скрипка: https://jsfiddle.net/vzjkx7br/7 /. При наведении курсора вы увидите, что звездочка находится немного правее квадрата. Я хотел бы выровнять их по ширине. Ценю любую помощь

 code
 

Ответ №1:

Вы можете настроить настройку всплывающей подсказки следующим образом

     tooltip: {
        shared: true,
        useHTML: true,
        formatter: function () {
          let s = `<div><b>${this.x}</b>`;
          $.each(this.points, function () {
            var name = this.series.name
            var shape
            if(name === 'Sea-Level Pressure') {
                shape = 'fa-square'
            } else {
                shape = 'fa-star'
            }
            s  = `<br/><span style="color: ${this.series.color};"><i class="far ${shape} fa-fw"></i>${this.y}</span>`;
          });
          return s  = '</div>';
        }
    }
 

если вы тестируете это с помощью JSFiddle, не забудьте установить framework amp; extension как jQuery

Ответ №2:

Вы можете добавить пустой символ, чтобы немного выровнять элементы amp;nbsp;

https://jsfiddle.net/BlackLabel/4rxwzfqc/

         if(name === 'Sea-Level Pressure') {
            shape = 'amp;nbsp;'
        } else {
            shape = ''
        }
 

Возможности добавления стилей к элементам в Highcharts ограничены.
Текст и метки в Highcharts предоставляются в формате HTML, но поскольку HTML анализируется и отображается в формате SVG, поддерживается только подмножество.

Документация: https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html