我有一个div,里面有六个HTML画布。如何在一个块中水平对齐三个画布,占据屏幕的50%,另外三个画布在添加的图像Struggling to get heroku app live
中对另一个块的底部进行对齐我当前的代码
<div id="_jscontrol" class="chartjscontrol">
<canvas id="myCanvas" style="display:block" width="600" height="400">
</canvas>
<canvas id="myCanvas" style="display:block" width="600" height="400">
</canvas>
<canvas id="myCanvas" style="display:block" width="600" height="400">
</canvas>
<canvas id="myCanvas" style="display:block" width="600" height="400">
</canvas>
<canvas id="myCanvas" style="display:block" width="600" height="400">
</canvas>
<canvas id="myCanvas" style="display:block" width="600" height="400">
</canvas>
</div>
.chartjscontrol { }
答案 0 :(得分:2)
您所要做的就是为public override init(frame: CGRect) {
super.init(frame: frame)
self.commonInit()
}
public required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.commonInit()
}
func commonInit() {
gradient.colors = [startColor.cgColor, endColor.cgColor]
gradient.frame = self.bounds
gradient.locations = [0, 1]
self.layer.insertSublayer(gradient, at: 0)
}
元素提供宽度为屏幕三分之一的canvas
以及width: 33.333%
。
您可以使用float: left
和vw
代替&#39;视口宽度&#39;和&#39;视口高度&#39;分别使元素占据页面总宽度和高度的100%。
在我的示例中,我使用vh
仅选择底部的三个元素,创建了20px
的边距。我也从每个元素的高度中减去它,以确保它们占据正确的高度。在我的示例中,我还为每个画布添加了一个边框,并考虑了宽度:
canvas:nth-of-type(n+4)
&#13;
.myCanvas {
display: block;
float: left;
width: calc(33.333% - 2px);
border: 1px solid black;
height: calc(50vh - 20px);
}
.myCanvas:nth-of-type(n+4) {
margin-top: 20px;
}
&#13;
另请注意,您的示例中有多个<div id="_jscontrol" class="chartjscontrol">
<canvas class="myCanvas"></canvas>
<canvas class="myCanvas"></canvas>
<canvas class="myCanvas"></canvas>
<canvas class="myCanvas"></canvas>
<canvas class="myCanvas"></canvas>
<canvas class="myCanvas"></canvas>
</div>
ID,这是无效的标记。我在答案中用类替换了这些:)
希望这有帮助! :)
答案 1 :(得分:0)
您可以使用弹性布局和align-self
最后3到flex-end
.chartjscontrol {
display: flex;
flex-wrap: wrap;
width: 1806px;
height: 1000px;
}
canvas {
border: 1px solid black;
}
canvas:nth-child(1n+4) {
align-self: flex-end;
}
&#13;
<div id="_jscontrol" class="chartjscontrol">
<canvas id="myCanvas" style="display:block" width="600" height="400">
</canvas>
<canvas id="myCanvas" style="display:block" width="600" height="400">
</canvas>
<canvas id="myCanvas" style="display:block" width="600" height="400">
</canvas>
<canvas id="myCanvas" style="display:block" width="600" height="400">
</canvas>
<canvas id="myCanvas" style="display:block" width="600" height="400">
</canvas>
<canvas id="myCanvas" style="display:block" width="600" height="400">
</canvas>
</div>
&#13;