【问题标题】:Vuetify make all buttons roundedVuetify 使所有按钮变圆
【发布时间】:2020-06-07 04:20:46
【问题描述】:

我有一个按钮太多的 vuetify 应用程序,我想用圆角样式更改它们,但不必一一添加此属性。
有没有办法使用主题或预设来添加这个功能?

像下面这样添加样式:

  .v-btn{
        border-radius:28px!important;
    }

但是通过这种方式,我可以永远使用普通按钮。

创建像my-rounded-button 这样的自定义组件也可以。但是假设您想为其他组件全局设置属性,这样您必须为 vuetify 中的每个元素创建一个自定义组件。更何况如果你想在项目中间更改所有按钮,你仍然需要将所有按钮名称从v-btn更改为my-rounded-button

我正在寻找的是将所有v-btncomponents 的rounded 属性设置为true,然后每当我想使用not rounded 时,我仍然可以将其设置为:rounded="false"

【问题讨论】:

  • 为什么不使用 CSS?
  • 用你想要的样式覆盖按钮的基 css 类
  • @connexo 如果我想在全局范围内向 vuetify 元素添加其他属性怎么办?在引导程序中,我们也可以全局添加所有按钮。 vuetify 也必须有一种方法
  • 只需创建一个使用 vuetify 按钮的自定义组件。
  • 正如@HusamIbrahim 所说,尝试通过添加rounded prop 来扩展基本组件来创建自定义组件

标签: javascript vue.js vuejs2 vue-component vuetify.js


【解决方案1】:

在尝试找到使用presets 定义默认道具的方法后,但这不适用于按钮等所有组件,因此我建议定义全局 CSS 规则:

 .v-btn{
    border-radius:28px!important;
 } 

当您想使用普通按钮时,添加另一个 CSS 规则,例如:

 .v-btn-not-rounded{
    border-radius:4px!important;
 } 

并使用类绑定如下:

  <v-btn depressed :class={'v-btn-not-rounded':true} color="primary">not rounded</v-btn>

检查这个pen

【讨论】:

  • scss 呢?我发现我们有默认值为 6px 的变量 $btn-border-radius,我们可以将其更改为 28px 并且它会更改,然后我可以将另一个默认值为 28px 的变量 $btn-rounded-border-radius 更改为6px,现在每当我想将其更改为正常时,我都可以使用四舍五入。但这仍然很烦人,我们还有其他的道具,比如大纲,有很多样式,没有 scss 变量......
  • 是的,不够灵活很烦人
猜你喜欢
  • 2011-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-07
相关资源
最近更新 更多