html - 响应式 Canvas 超越了 div

标签 html css twitter-bootstrap-3 chart.js

我正在使用 ChartJS 在 div 中放置一个响应式图表。我也在使用 Bootstrap ,所以 div 类以网格为中心(例如 md-9)。图表不断扩展到 div 之外。我正在考虑溢出:隐藏在 div 上,但不想丢失显示的任何数据。这是我的开发站点的链接。感谢任何帮助:

http://investingcalculator.azurewebsites.net

我当前的 HTML 代码:

        <div class="budgetcalcsection">
        <div class="row">

            <div class="col-sm-3 col-md-2">

                <div class="inputtext">
                    Current Balance
                    <div class="input-group">
                        <span class="input-group-addon">$</span>
                        <input type="number" id="currentbalance" class="form-control" placeholder="0">
                    </div>
                </div>

                <div class="inputtext">
                    Interest Rate
                    <div class="input-group">
                        <span class="input-group-addon">%</span>
                        <input type="number" id="interestrate" class="form-control" placeholder="0">
                    </div>
                </div>

                <div class="inputtext">
                    Monthly Contributions
                    <div class="input-group">
                        <span class="input-group-addon">$</span>
                        <input type="number" id="monthlycontribution" class="form-control" placeholder="0">
                    </div>
                </div>

                <div class="inputtext">
                    Years Contributing
                    <div class="input-group">
                        <span class="input-group-addon">+</span>
                        <input type="number" id="yearscontributing" class="form-control" placeholder="0">
                    </div>
                </div>

                <div class="">
                    <input class="btn btn-default" type="submit" id="calculate" value="Calculate">
                </div>

                <div class="">
                    <input class="btn btn-default" type="submit" id="reset" value="Reset">
                </div>

                <div class="inputtext">
                    Ending Balance
                    <div class="input-group">
                        <span class="input-group-addon">$</span>
                        <input type="text" id="endingbalance" class="form-control" placeholder="0" readonly>
                    </div>
                </div>
            </div>

            <!-- Investing Chart -->

            <div class="col-sm-9 col-md-10">
                    <canvas id="canvas"></canvas>
            </div>

        </div>
    </div>

最佳答案

问题源于 ChartJS 没有考虑到元素上的显示框是边框框这一事实。它将图表的大小调整为 div 的整个宽度,而不考虑填充。

为了修复它,只需在您的列中放置一个没有任何引导列类的 div 并使用 ChartJS 定位它。

关于html - 响应式 Canvas 超越了 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26819025/

相关文章:

javascript - 为 Bootstrap Carousel 添加不同的效果

php - Yii2从gridview中的多对多关系获取数据并应用过滤器

jquery - 获取窗口的高度(无滚动)

javascript - 编辑 iframe 动态内容

css 文件规则未在 IE 8,9 中应用,它们适用于 firefox

css - 如何在 WordPress 子主题中加入第二个样式表?

css - 当我点击菜单时,Bootstrap 3 下拉菜单悬停颜色恢复为默认值?

html - 调整浏览器大小时如何保持图像和文本(vmax 字体)对齐?

php - 如何将 HTML 表单中的数组转换为字符串? [通知 : Array to string conversion?]

javascript - 如何在 if 条件下使用实际图像更改图像大小