问题描述
我正在尝试使用 Vue 2 中的 Vue-Konva 构建一个非常基本的视频编辑应用程序。 这是一个名为“konvaStage”的 Vue 组件。这是一个带有 1px 黑框的简单舞台:
<template>
<div>
<v-stage :config='stageConfig'>
<v-layer>
<v-rect :config='rectConfig'></v-rect>
</v-layer>
</v-stage>
</div>
</template>
<script>
export default {
name: 'konvaStage',data() {
return {
stageConfig: {
width: 300,height: 300,},rectConfig: {
x: 0,y: 0,width: 300,stroke: 'black',strokeWidth: 1
}
};
}
}
</script>
尽管在组件文件和父应用视图中使用 CSS 来对齐舞台,但舞台始终位于左侧居中,与窗口边框有一些边距。我同时使用了 text-align 和 align-content 属性。
我设法将舞台包装在 <p align='center'> </p>
标签中。
但是,添加边框表明画布扩展到页面的整个宽度。
尤其是,在这种配置中无法管理点击事件及其坐标。
有没有更好的方法来做到这一点?
解决方法
我找到了一个更有效的解决方案:将舞台包装在一个 td
标签中,放在一个居中的表格中 :)