vue.js 如何让一个“关闭”图标浮动在右上角的一个v-对话框

vc6uscn9  于 2023-08-07  发布在  Vue.js
关注(0)|答案(1)|浏览(167)

目前我有一个当窗口打开时打开的v-对话框,我正试图在我的v-对话框的右上角实现一个v-图标。下面是一个wireframe:x1c 0d1x的数据
我似乎不能得到我的对话框右上角的图标。我试过创建一个透明的div,把v对话框放入容器中,等等,但我似乎不能弄清楚。下面是我的代码:

<v-dialog 
        v-model="adPopup"     
        presistent
        @click:outside="closePopup" 
        max-width="700px">
          <Advertisements
          :adPopup="adPopup"
          @doNotShowValue="doNotShowVal"
          @closePopup="closePopup">
          </Advertisements>
      </v-dialog>

字符串
Advertisements.vue

<template>

            <v-card class="ad-card">
                <v-card-text class="pa-0">

                    <v-img max-width="100%" class="img-height" src="@/assets/PopUp.png">                    
                        <v-icon class="close-popup">mdi-close-circle</v-icon>
                    </v-img>
                </v-card-text>
                <v-card-actions class="card-actions">
                    <v-btn 
                    depressed
                    outlined
                    class="mr-1 mb-2 white--text ml-2" color="white" @click="closePopup(0)" style="text-transform: none;">Close</v-btn>
                        <v-checkbox
                        style="color: #ffffff; border-color: white"
                        color="white"
                        class="mt-2 ml-2 custom-checkbox"
                        v-model="doNotShow">
                        </v-checkbox>
                        <p class="mt-2 white--text">Do not ask me again</p>
                    <v-spacer></v-spacer>
                    <v-icon>    <font-awesome-icon icon="times" /></v-icon>
                    <v-btn class="mb-2 white--text view-products mr-2" color="#4D95B6" @click="closePopup(1)" style="text-transform: none;">View Produts</v-btn>
                </v-card-actions>
            </v-card>    
</template>

yhuiod9q

yhuiod9q1#

我认为你必须要么允许v-card上的溢出,要么把按钮放在卡周围的容器中。

<v-card class="overflow-visible">
  <v-btn
    class="close-popup"
    icon="mdi-close-thick"
    color="black"
    size="x-small"
    elevation="0"
  />
  ...

字符串
或者是

<div class="position-relative">
  <v-btn
    ...
  />
  <v-card>...</v-card>
</div>


然后,您可以使用绝对定位将其移到右侧,然后将其平移到角:

.close-popup {
    position: absolute !important;
    right: 0;
    transform: translate(50%, -50%);
    border: 3px solid white !important;
  }
  .close-popup .mdi {
    font-size: 24px;
  }


看看操场

相关问题