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

时间:2020-03-05 16:29:56

标签: vue.js vuetify.js

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

我尝试将涟漪设置为false,但仍然有背景。我找不到CSS在这种背景下工作。

enter image description here

new Vue({
  el: '#app',
  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@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>

3 个答案:

答案 0 :(得分:5)

对于单击时的背景(波纹功能),您缺少绑定注释,而是传递了字符串而不是 false 值。因此,在波纹会做的事情前加上“:”。

但是,要处理悬停背景,您需要对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>

如果您希望每个其他按钮都发生上述情况,则仅将上面的代码设置为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>

答案 1 :(得分:0)

要取出 v-btn 上的背景,可以使用以下 css 属性,

<style scoped>
.v-btn::before {
  background-color: transparent;
}
</style>

要消除涟漪效应,必须使用v-ripple,

<v-btn v-ripple="false" icon>
<v-icon>mdi-heart</v-icon>
</v-btn>

答案 2 :(得分:0)

我一直在寻找这个问题的答案,我从这里应用了一个黑客解决方案,但它有视觉效果,谢天谢地,我找到了一个负责这个的属性。您需要像这样向按钮添加“plain”属性:

Activity

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