0

我正在尝试使用 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 来对齐舞台,但舞台始终位于左侧居中,与窗口边框有一些边距。我同时使用了 text-align 和 align-content 属性。

我设法通过将舞台包装在<p align='center'> </p>标签中来找到一种方法。但是,添加边框会显示画布会扩展到页面的整个宽度。特别是,在此配置中管理点击事件及其坐标是不可能的。

有没有更好的方法来做到这一点?

4

1 回答 1

0

我找到了一个更有效的解决方案:将舞台包装在一个td标签中,在一个居中的表格内:)

于 2021-01-03T10:20:43.517 回答