Vue-Konva 的中心舞台

Center stage in Vue-Konva

我正在尝试使用 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,
          height: 300,
          stroke: 'black',
          strokeWidth: 1
        }
      };
    }
  }
</script>

尽管使用 CSS 来对齐组件文件中的舞台,而且在父应用程序视图中,舞台始终居中左侧,与 window 边框有一些边距。我同时使用了 text-align 和 align-content 属性。

我设法找到了一种方法,将舞台包裹在 <p align='center'> </p> 标签中。 但是,添加边框显示 canvas 扩展到整个页面宽度。 特别是,在此配置中无法管理点击事件及其坐标。

有更好的方法吗?

我找到了一个更有效的解决方案:将舞台包裹在一个 td 标签中,位于一个居中的 table :)