2012-12-06 68 views
5

這裏是我的問題,當您爲數據標籤設置useHTML:true時,似乎標籤文本將覆蓋工具提示背景。Highcharts - HTML工具提示和數據標籤呈現問題

您可以看到的行爲在這個簡單的提琴:bar chart

嘗試通過一個欄上顯示鼠標提示,你會看到datalabel的工具提示背景的文本。

是否可以在數據標籤上設置z-index?

我試着在提示定義,但沒有成功補充一點:

style : { 
    color: 'black', 
    'z-index': 0 
    }, 

我也試圖建立跨類數據標籤和工具提示,然後添加的z-index到CSS這些類的屬性,但它仍然不起作用。

編輯:由於我仍然在尋找解決方案來解決我的問題,有人可以指點我向圖表的條形(或數據標籤)添加類的方式嗎?我的目標是在這個課堂上調用一個特定的onclick事件。

+0

你有''左右的Z指數,當它應該在0. – lifetimes

+0

NOP,我也試過z-index:'0',它會拋出一個javascript錯誤。似乎它不喜歡z-index中的' - 'caracter。 – Tony

回答

7

確定與該物業解決,所以這裏是我的問題解決方法......我們的想法是創建自己的自定義工具提示。

溶液在Highcharts論壇給出:Highcharts forum post

要做到這一點,設置兩個datalabels和工具提示「useHTML」屬性,消除在格式化功能的提示和設置CSS類的一些默認屬性:

//JS 
datalabels: { 
    ... 
    useHTML: true, 
    formatter: function() { 
     return ("<span class='datalabel'>" + this.y + "</span>"); 
    } 
} 

tooltip: { 
    ... 
    borderWidth:0, 
    borderRadius:0, 
    shadow:false, 
    useHTML: true, 
    formatter: function() { 
     return ("<div class='tooltip'>" + this.y + "</div>"); 
    } 
} 

最後一步(最重要的)是建立在highcharts-提示跨度類的CSS規則(用於通過Highcharts渲染HTML工具提示)。

//CSS 
.highcharts-tooltip span { 
    background-color:white; 
    z-index:9999!important; 
} 

注意z-index屬性,它是允許工具提示在數據標籤上呈現的屬性。

現在你可以通過設置'tooltip'類的CSS規則來定製你的工具提示。

對於一個完整的活生生的例子,在這裏看到的jsfiddle:Custom tooltip

注:這是不是強制性的specificy在格式化的datalabel類此解決方案的作品,我只需要這樣我就可以註冊一個特定的鼠標事件就可以了。