如何在 vuetify 中删除 v-btn 背景?

Jon*_*Sud 6 vue.js vuetify.js

当我悬停或单击 v-btn 时,如何删除按钮后面的背景?

我尝试将涟漪设置为 false,但仍有背景。我找不到css做这个背景。

在此处输入图片说明

new Vue({
  el: '#app',
  vuetify: new Vuetify(),
  
})
Run Code Online (Sandbox Code Playgroud)
<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@4.x/css/materialdesignicons.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Material+Icons" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/vuetify@2.2.15/dist/vuetify.min.css" rel="stylesheet">

<script src="https://cdn.jsdelivr.net/npm/babel-polyfill/dist/polyfill.min.js"></script>

<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@2.2.15/dist/vuetify.min.js"></script>



<div id="app">
  <v-app id="inspire">
    <v-card flat>
      <v-card-text>
        <v-container fluid class="pa-0">
          <v-row>
            <v-col cols="12">
              <p>Normal</p>
            </v-col>
  
            <v-col cols="12" sm="3">
              <v-btn ripple="false" icon color="pink">
                <v-icon>mdi-heart</v-icon>
              </v-btn>
            </v-col>
  
          </v-row>
        </v-container>
      </v-card-text>
    </v-card>
  </v-app>
</div>
Run Code Online (Sandbox Code Playgroud)

小智 11

我一直在寻找这个问题的答案一段时间,我从这里应用了一个被黑的解决方案,但它有视觉效果,感谢上帝,我找到了一个负责这个问题的属性。您需要向按钮添加一个“ plain ”属性,如下所示:

<v-btn fab large plain><v-icon>mdi-phone</v-icon></v-btn>
Run Code Online (Sandbox Code Playgroud)

这是为我做的交易。Vuetify 指南说:普通按钮具有较低的基线不透明度,可以对悬停和焦点做出反应。

  • 这应该是公认的答案。 (2认同)

Ngo*_*Lam 10

对于单击 (ripple features) 时的背景,您缺少绑定注释,您传递的是字符串而不是值。所以在涟漪之前加上“:”就可以了。

但是,要处理悬停背景,您需要对 css 进行一些修改。我用scss写这个,你可以按照这个想法

<v-btn :ripple="false" icon color="pink" id="no-background-hover">
  <v-icon>mdi-heart</v-icon>
 </v-btn>


<style lang="scss">
#no-background-hover::before {
   background-color: transparent !important; <= can set to any color you want
}
</style>
Run Code Online (Sandbox Code Playgroud)

上面的代码仅设置为仅带有 id 的特定按钮"no-background-hover",如果您希望这发生在所有其他按钮上。然后这里是那个按钮的类,你可以将你的 css 查询选择器更改为你需要的类级别

<button type="button" class="v-btn v-btn--flat v-btn--icon v-btn--round theme--light v-size--default pink--text" id="no-background"><span class="v-btn__content"><i aria-hidden="true" class="v-icon notranslate mdi mdi-heart theme--light"></i></span></button>
Run Code Online (Sandbox Code Playgroud)