css 如何从包含Chartjs画布的div中删除100%右边距[duplicate]

xzv2uavs  于 2023-03-05  发布在  其他
关注(0)|答案(1)|浏览(121)
    • 此问题在此处已有答案**:

Is this empty space actually margin-right which is not recognized by dev tools?(2个答案)
5小时前关门了。
我正在使用Chartjs创建一个图表。该图表被保存在ChartHold div中。即使CSS对象有1px的右边距,div也有100%的右边距。因此,其他图表位于原始图表之下,但它们应该彼此相邻
div

的图片
CSS(ChartHold是所有图表的容器,HoldChart是存储图表的div)

/* Charts */
#ChartHold{
    position: absolute;
    left: 0%;
    top: 15%;
    width: 100%;
}
#HoldChart{
    width: 300px;
    height: 200px;
    margin-right: 1% !important;
}

即使你不能帮助我,我希望你有一个梦幻般的一天:)
以下是我已经尝试过的一些方法:
我试着获取每个ID的DIV并更改其边距,我试着用inspect元素手动更改它,我检查了它是否与Chartjs库有关。这些都不起作用。:/

mznpcxlj

mznpcxlj1#

上面的评论是正确的,你在devtools中观察到的是当块级元素超过300px时剩下的“空”空间,这会在右边产生一个空白来占据剩余的空间。
更改您的CSS并将classes添加到您的元素(并删除添加的内联样式):

/* Charts */
.chartHold {
 display: flex;
}

.holdChart {
  width: 300px;
  height: 200px;
}

在HTML中,每个元素id必须对于页面是完全唯一的,所以你需要把你的标记修改成这样:

<div id="chartHold" class="chartHold">
  <div id="holdChart" class="holdChart"><div>
  <div id="holdChart2" class="holdChart"><div>
  <div id="holdChart3" class="holdChart"><div>
  ...
</div>

所有图表都有相同的CSS类是完全有效的。在单个元素上有一个id和一个或多个CSS类也是有效的。您可以这样做,以便于在JavaScript中通过id选择元素,但作为一般规则,不要在CSS中使用id。它被视为反模式,因为id携带了额外的特殊性。

相关问题