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,stroke: 'black',strokeWidth: 1
        }
      };
    }
  }
</script>

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

我设法将舞台包装在 <p align='center'> </p> 标签中。 但是,添加边框表明画布扩展到页面的整个宽度。 尤其是,在这种配置中无法管理点击事件及其坐标。

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

解决方法

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...