echarts圖表自適應,容器寬度設置為百分比,但是圖表顯示不全,縮到一起


<div  id="chartContainer" style="height:100%;width:100%;"></div>

chartContainer用來存放Echart圖,設置寬高100%時出現Echart圖沒有鋪滿div

 

 

 需要強行設置寬高px

<div id="chartContainer" style="height:450px;width:1030px;"></div>

 

 

 

echarts的源碼中計算寬度時:

Painter.prototype._getWidth = function() {
var root = this.root;
var stl = root.currentStyle || document.defaultView.getComputedStyle(root);
return ((root.clientWidth || parseInt(stl.width, 10)) - parseInt(stl.paddingLeft, 10) - parseInt(stl.paddingRight, 10)).toFixed(0) - 0;
};

原因在於echarts繪制圖表計算寬度的時候,由於第二個tab的屬性display: none;所以無法獲取到clientWidth,而 parseInt(stl.width, 10)) 將width: 100%;轉為100,所以計算出的圖表寬度為100px


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM