我正在尝试把两块画布叠在一起,使它成为一个双层画布。
我在这里看到过一个例子:
<div style="position: relative;">
<canvas id="layer1" width="100" height="100"
style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
<canvas id="layer2" width="100" height="100"
style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
</div>
但是我想将两个画布都设置为在屏幕中心对齐。如果我将left
的值设置为常量,当我改变屏幕的方向时(就像我在iPad上做aps一样),画布将不会像在中那样保持在屏幕中间
<div align="center">
有人能帮忙吗?
8条答案
按热度按时间jrcvhitl1#
如果将left和right都设置为零,并将left和right margin设置为auto,则可以使绝对定位的元素居中。
lrpiutwd2#
如果要在不知道元素的宽度和高度的情况下居中对齐元素,请执行以下操作:
示例:
x一个一个一个一个x一个一个二个x
1wnzp6jl3#
我试试这个方法,效果很好
e5nqia274#
yzxexxkh5#
你试过使用吗?:
不确定是否有效,但值得一试...
次要编辑:添加了左边距部分,正如Chetan在评论中指出的那样...
n3ipq98p6#
你所要做的就是确保你的父元素
<div>
有position:relative
,并为你想要居中的元素设置一个高度和宽度。https://output.jsbin.com/aXEZUgEJ/1/
pxyaymoc7#
使用将父div移动到中间
使用将第二层移动到另一层上
9njqaruj8#
我还想分享另一种方法,如果您正在从头开始构建一些东西,它可能会很有用。
我也遇到了同样的情况,但是当我使用上面的方法时,它不起作用,因为我在每个标签上都有一个类,当滚动时,它会改变背景。
我在Javascript上创建了一个方法,用于计算元素和viewport的大小,以便在每次viewport大小更改时正确定位。
当然,setOnCenter方法必须在文档准备好时执行。如果有什么需要改进的地方,我很乐意阅读它。