【问题标题】:Using Vuetify to create a dynamic game board?使用 Vuetify 创建动态游戏板?
【发布时间】:2021-11-13 14:12:35
【问题描述】:

我为 Nuxt 组件编写了一些代码,该组件采用国际象棋 PGN 并将其转换为应用程序上的一系列 png 图像。代码如下所示:

<template>
<v-container fluid class="gamePanel-wrapper">
  <v-row no-gutters>
    <div v-for="col in Array(8).keys()" :key="col.key">
      <div v-for="row in Array(8).keys()" :key="row.key">
        <img :src="getTile(row,col)" class="tileImage">
      </div>
    </div>
  </v-row>
  <v-row>
    <v-col align="center">
      <h3>Turn Information Goes Here</h3>
    </v-col>
  </v-row>
</v-container>
</template>

输出如下所示:

关于如何让这个游戏板看起来像我想要的样子,我有几个问题:

  1. 如何使用 Vuetify 排列游戏板的瓦片,使它们在各个方向上齐平且没有间隙?我将使用 nuxt-image 模块根据显示断点更改图块的大小,因此它需要能够对此做出反应。
  2. 我似乎无法通过将 justify="center" 放入 v 行来使整个板居中。我将如何在父容器中水平居中这个游戏板?
  3. 我有一些框架需要放在电路板的外侧 4 个边缘。如何将它们锁定到位,以便它们始终与游戏板的其余部分齐平?我认为这不是顶部和底部框架的问题,但是如何将垂直框架锁定到位?

提前致谢。

【问题讨论】:

    标签: vue.js flexbox nuxt.js vuetify.js styling


    【解决方案1】:
    1. 不应该有间隙。看这个codesandbox,我用了你的标记,瓷砖之间没有缝隙。如果没有导致这种情况的 css 规则,请检查您的“.gamePanel-wrapper”或“tileImage”类。或者,在提供的沙盒中重现问题,并在此处发布。

    2. 此外,它在沙盒中工作,虽然为 3。我将方向更改为 column 并使用 align="center"

    3. 我不太明白您所说的“与板齐平”和“锁定”是什么意思,但我认为类似于示例中的灰色区域。如果不是,请解释。

    【讨论】:

    • 我将制作我正在寻找的东西的模型图像,谢谢。
    • 实际上,经过一番摆弄,我能够让电路板正确显示。我可以继续自己从这里修改它以获得我正在寻找的结果。但是你在哪里找到这方面的信息? Vuetify 文档在这里没有涵盖您模板代码中的许多细节。
    • 有一个带有flex helper classes 的Vuetify 部分。我知道他们有很多,试着很好地了解他们每个人的工作。其余的只是纯 css。
    猜你喜欢
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多