问题描述
使用2个内联div进行这种简单的两列设计。
在第一列中放置一个图表。
如果此示例中的图表包含在div中,则它在扩展和减小浏览器窗口的大小时具有很好的响应性。
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx,{
type: 'bar',data: {
labels: ['Red','Blue','Yellow','Green','Purple','Orange'],datasets: [{
label: '# of Votes',data: [12,19,3,5,2,3],backgroundColor: [
'rgba(255,99,132,0.2)','rgba(54,162,235,'rgba(255,206,86,'rgba(75,192,'rgba(153,102,255,159,64,0.2)'
],borderColor: [
'rgba(255,1)',1)'
],borderWidth: 1
}]
},options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
* {
-webkit-Box-sizing: border-Box;
-moz-Box-sizing: border-Box;
Box-sizing: border-Box;
}
*:before,*:after {
-webkit-Box-sizing: border-Box;
-moz-Box-sizing: border-Box;
Box-sizing: border-Box;
}
.parent {
border: 1px solid blue;
width: 100%;
}
.parent > div {
display: inline-block;
border: 1px solid red;
width: 50%;
vertical-align: top;
}
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/Chart.min.js"></script>
<div class="parent">
<div>
<div>
<canvas id="myChart"></canvas>
</div>
</div><div>Col2</div>
</div>
如果图表包含在字段集中(如以下示例所示),则其初始大小会很大,并且在扩展时会响应,但在减小浏览器大小时不会调整大小。
注意:您需要运行“全屏”代码片段以查看行为。
var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx,*:after {
-webkit-Box-sizing: border-Box;
-moz-Box-sizing: border-Box;
Box-sizing: border-Box;
}
.parent {
border: 1px solid blue;
width: 100%;
}
.parent > div {
display: inline-block;
border: 1px solid red;
width: 50%;
vertical-align: top;
}
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/Chart.min.js"></script>
<div class="parent">
<div>
<fieldset>
<canvas id="myChart"></canvas>
</fieldset>
</div><div>Col2</div>
</div>
我正在Windows的Chrome 84.0.4147.89中进行测试。
为什么要这样做,它是期望行为,如果是的话,它遵循什么规则,还是一个错误?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)