Vuetify开发中无法下移Select File按钮,如何调整至视频区块下方?

问题定位
你两个排查方向的明确结论:
- 不是v-card-text使用不当导致的错位:该组件仅为带标准内边距的通用容器,本身不携带特殊定位逻辑
- 不是缺失div标签导致的错位:核心原因是你给v-card-text设置了固定
height: 67vh,但容器没有配置纵向弹性流布局,加上内部video元素没有尺寸约束,配合按钮上写的mt-6大间距类名,最终导致元素纵向排布错位,Select File按钮没有待在视频区块的下方位置。
调整方案
- 给v-card-text追加
d-flex flex-column类,让容器内部元素严格按照从上到下的纵向流排布,避免固定高度下的内容错位 - 删掉原来没有布局作用的外层
form-groupdiv,把video元素单独包裹在带flex-grow-1的居中容器里,让视频区块占满容器内除按钮、输入框外的剩余纵向空间 - 移除Select File按钮上原来的
mt-6类,换成适配紧凑布局的mt-4类,避免过大的上边距把按钮推离视频区块 - 给video元素追加
w-100类和最大高度约束,避免无尺寸的视频自动撑满整个容器高度,挤占后续按钮的布局空间
修改后的核心代码
<v-card-text class="pa-5 vertical-hidden d-flex flex-column" :class="themeCommon.content" style="height: 67vh" > <!-- 视频区块:居中、占满剩余纵向空间 --> <div class="d-flex justify-center w-100 flex-grow-1"> <video id="id" controls="controls" class="w-100" style="max-height: 100%;"> <source id="src" /> </video> </div> <!-- Select File 按钮:紧跟在视频区块下方 --> <v-row class="mt-4"> <v-col class="d-flex justify-center" cols="12"> <v-btn class="accent-3 blue" dark @click="pickFile" > Select File </v-btn> </v-col> </v-row> <input v-show="false" id="label" ref="inputUpload" type="file" @change="load($event)" /> <!-- 视频名称输入区块保持原有结构不变 --> <v-row> <v-col class="d-flex justify-center" cols="12"> <v-text-field v-if="setDisable()" v-model="firstVideo" append-outer-icon class="Inputmodified" label="Name the video" /> </v-col> </v-row> </v-card-text>
注意:v-card-actions中的Save and Continue按钮不需要做任何修改,会自动保持在卡片底部的原有位置。
内容的提问来源于stack exchange,提问作者Gabriel Quezada Castro
相关产品推荐
相关产品推荐

