从右向左滚动时无法删除左侧的白色空白区域

时间:2017-09-08 15:12:26

标签: javascript css angularjs

我正在开发angularjs谷歌排行榜。我想显示图表的水平滚动条,默认情况下它应该从右向左滚动。

示例演示http://jsfiddle.net/uzbozqz4/

要使滚动条默认从右向左滚动,我使用了以下样式属性中定义的以下css代码:

 <div id="chart_div" style="margin-left:0;white-space: nowrap;overflow-x:auto;overflow-y:hidden;direction:rtl;left:0;top:0;height: 500px;"></div>

direction:rtl使滚动条从右向左滚动,这是必需的,但问题是,当从右向左滚动时,我可以看到左侧的大量空白。我尝试使用左填充:0px;但它仍然显示空白。有关如何在从右向左滚动时删除左侧额外空白区域的任何建议吗?

代码:

<html>
  <head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Year', 'Sales', 'Expenses'],
          ['2004',  1000,      400],
          ['2005',  1170,      460],
          ['2006',  660,       1120],
          ['2007',  1030,      540],
          ['2005',  1170,      460],
          ['2006',  660,       1120],
          ['2007',  1030,      540],
          ['2005',  1170,      460],
          ['2006',  660,       1120],
          ['2007',  1030,      540],
          ['2005',  1170,      460],
          ['2006',  660,       1120],
          ['2007',  1030,      540],
          ['2005',  1170,      460],
          ['2006',  660,       1120],
          ['2007',  1030,      540],
          ['2005',  1170,      460],
          ['2006',  660,       1120],
          ['2007',  1030,      540],
          ['2005',  1170,      460],
          ['2006',  660,       1120],
          ['2007',  1030,      540]
        ]);

        var options = {
          title: 'Company Performance',
          hAxis: {title: 'Year', titleTextStyle: {color: 'red'}},

        };
   var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="chart_div" style="margin-left:0;white-space: nowrap;overflow-x:auto;overflow-y:hidden;direction:rtl;left:0;top:0;height: 500px;"></div>
  </body>

</html>

PS:当我删除direction:rtl时没有显示额外的空格,但根据我的要求,我需要使用它来使水平滚动条从右向左滚动。

1 个答案:

答案 0 :(得分:0)

其中一个div有:

div {
  left: -1000px
}

它可以通过aria-label

进行识别和定位
div[aria-label="A tabular representation of the data in the chart."] {
  left: 0 !important;
}

jsfiddle