v-btn浮动操作按钮定位绝对顶部不会从 v-cardVue2、Vuetify溢出

问题描述

当它溢出组件时,如何使其不被隐藏?感谢您的帮助。

<v-card>
  <v-btn @click="dialog = false" fab small absolute top right class="error">
    <v-icon>
      mdi-close
    </v-icon>
  </v-btn>
</v-card>

floating button

解决方法

检查您的 CSS - 您的卡片有 overflow: hidden。删除此 CSS 规则,它将按预期工作。

new Vue({
      el: '#app',template: '#main',vuetify: new Vuetify(),})
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900" rel="stylesheet">
  <link href="https://cdn.jsdelivr.net/npm/@mdi/font@5.x/css/materialdesignicons.min.css" rel="stylesheet">
  <link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>
<div id="app"></div>
<template id="main">
<v-app>
<v-main class="pa-8">
<v-row justify="center">
<v-card>
  <v-btn @click="dialog = false" fab small absolute top right class="error">
    <v-icon>
      mdi-close
    </v-icon>
  </v-btn>
  <v-card-text>This is some example text</v-card-text>
</v-card>
</v-row>
</v-main>
</v-app>
</template>

,

您可以使用 vue 的 CSS 深度选择器 (>>>) 覆盖样式。根据您的代码判断,溢出样式必须来自 v-dialog 类(@click="dialog = false",我认为您在单击该按钮时试图关闭对话框是理所当然的),因此只需添加这到 vue 组件:

<style scoped>
  >>> .v-dialog {
    overflow-y: visible;
  }
</style>

'>>>' 使得 v-dialog 类的 overflow-y 属性将被覆盖。