当前位置: 首页 > 面试题库 >

当存在滚动条时,在引导程序流体跨度中,Highcharts图形宽度不正确

柯振濂
2023-03-14
问题内容

我不确定这是引导程序问题还是高图问题,但是我似乎无法正确调整图表大小;同时存在滚动条和引导跨度时,初始图表宽度太宽。调整窗口大小似乎永远不会产生太宽的宽度,但有时它们会太窄。

在所有情况下,从span构造中删除代码似乎都会导致适当的宽度,因此我认为hc和bootstrap之间可能存在有害的交互作用。

我做了一个小提琴来演示,但是请记住,您的浏览器窗口需要足够短才能引起滚动条:

有没有办法我可以通过CSS强制宽度一致?我可以通过调整窗口大小来创建回调,但我宁愿找到 合适的 解决方案。

编辑 :如建议的以下是一种解决方法,可以在超时后或页面加载后仅调用一次:

    this.setChartSize = function() {
        chart.setSize( $(chart.container).parent().width(), $(chart.container).parent().height() );
        return false;
    };

HTML:

<div id="content" class="container-fluid">
    <div class="row-fluid">
        <div id="toresize" class="span3" style="background: gray; overflow: auto;">
            <div class="targetpane">
                 <h4 class="text-center">HC Sizing Test</h4>

                <!-- take up space -->
                <div class="well well-small" style="height: 160px;"></div>

                <!-- Chart -->
                <div class="well well-small" style="padding: 5px;">
                    <div id="barchart" style="height: 160px; margin-bottom: 5px;"></div>
                </div>

                <!-- take up space -->
                <div class="well well-small" style="height: 160px;"></div>
            </div>
        </div>

        <!-- span -->
        <div class="span9" style="background: gray;">
            <div class="myBorder">Some content</div>
        </div>
    </div>
</div>
<script src="http://code.highcharts.com/highcharts.js"></script>

CSS:

@import url('http://twitter.github.com/bootstrap/assets/css/bootstrap.css');
.well
{
    background-color: #444;
}

.targetpane
{
    color: #888;
    background-color: #1B1B1B;
    border: 1px solid #888;
    border-radius: 3px;
    padding: 0px 5px 0px 5px;
}

.bodycontainer {
    height: 50px !important;
    white-space: nowrap;
    overflow-x: hidden;
}

JS:

var chart = new Highcharts.Chart({
    chart: {
        renderTo: 'barchart',
        borderWidth: 1
    },
    xAxis: {
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },

    series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
    }]
});

$(window).resize(function () {
    $('#toresize').height($(window).height() - 3);
    console.log($(window).height());
})
$(window).resize();

问题答案:

问题在于,加载页面时,用于Highcharts的容器的宽度不同。我认为这是由于渲染时间(耗时超过1毫秒)所致,因此可能的解决方案是确保渲染后图表具有适当的宽度和高度

setTimeout(function() {
      chart.setSize($("#barchart").width(), $("#barchart").height());
}, 1);


 类似资料:
  • 问题内容: 亲朋好友,是否可以增加放置在元素内部的滚动条的宽度? 我不是在谈论 浏览器本身 的默认滚动条,此页面以全屏模式运行,并且由于浏览器滚动条从不显示图片,因此内部元素具有自己的滚动条。 问题答案: 如果您谈论的是带有(或)自动出现在滚动条上的滚动条,那么没有,那仍然是浏览器使用常规OS小部件呈现的本机滚动条,而不是可以样式化的(*)。 虽然您可以按照Matt的建议,将其替换为由可样式化的d

  • 我有一个居中的flexbox结构,显示客户列表框。 我想实现的是,当屏幕变得比div中的内容更窄时,它不会隐藏在视口之外,而是将溢出添加到最长的项目,即with table,因此可以动态收缩。 当我将添加到中时,它的工作原理应该是一样的,但我不希望框的全屏宽度至少达到内容的大小。 |JSFIDDLE演示| 1-全屏窗口 2-调整大小(更小)的窗口 3-调整大小(更小)的窗口-所需结果

  • 我想把三个盒子水平地排成一行,但最后一个倒了。 当我移除滚动条时,它排列得很好。 所以,问题是由滚动条宽度引起的。 http://codepen.io/anon/pen/kxapap

  • 问题内容: 有人可以告诉我如何修改此使用matplotlib的Python代码,以便无论绘制多少分,条的宽度都将保持恒定吗?先感谢您! 问题答案: 条的宽度相同!它们看起来不一样的原因是因为您正在使用以下行: 这将更改您的x值,从而更改x轴的比例。为了抵消这种影响,您可以更改x轴的限制,也可以使条形宽度取决于分数的数量,例如,如果0.35的宽度适用于10个分数,那么如果将分数的数量加倍,条宽度的一

  • 问题内容: 我在HTML5项目中使用了Google图表。它使用JSON值(来自DB)来绘制图形。 我的需求是如果JSON值中的数据大于5到6,则需要一个滚动条。我已经通过JSFiddle创建了示例附加链接。 目前,我已经给出了22个值。当JSON值具有3或4个值时,我需要相同的效果。条形宽度没有任何变化,即使JSON有50个值,它也应保持相同的宽度。 请给我解决方案,非常感谢。:) 这是链接:-h

  • 问题内容: 我是Angularjs的新手,并且我尝试在控制器中的值更改时更新进度条的宽度。 我有类似的东西: 我的控制器中有类似以下内容的内容: 如何更新进度条的宽度值? 谢谢,阿尔贝托。 问题答案: ng-style指令可以解决问题。