我有一个div #content-wrapper
,里面嵌套的是一个div #canvas-blur
和一个main
元素。所有元素应该与视口/窗口的宽度和高度相同,但#canvas-blur具有CSS transform: scale(1.1);
使其更大。在#canvas-blur
div中有一个canvas元素设置为视口/窗口的大小,在这个画布上我创建了一个跟踪鼠标位置的绘画工具。问题是#canvas-blur
从左上角缩放(见附录1),这会影响画布上的鼠标位置(见图片)。我需要#canvas-blur
从中心扩展(见附录2)。这意味着main
和#canvas-blur
将具有相同的中心点,并将如附录3中所示滚动在一起。任何指向正确方向的指针都将非常有用。
编辑:已添加JSFiddle
#content-wrapper {
height: 100vh;
width: 100vw;
}
#canvas-blur {
z-index: -1;
position: relative;
transform: scale(1.1);
}
main {
height: 100vh;
width: 100vw;
box-sizing: border-box;
position: absolute;
z-index: 2;
display: flex;
}
<div id="content-wrapper">
<main>
</main>
<div id="canvas-blur">
<canvas>
</div>
</div>
答案 0 :(得分:0)
听起来像变换起源可能就是你所需要的。
尝试将此添加到#canvas-blur
transform-origin: center;
您也可以尝试将此添加到main以使内容在水平和垂直方向上居中,因为您使用的是flex:
align-items: center;
justify-content: center;