【发布时间】:2019-10-31 03:26:16
【问题描述】:
如何更改 Vuetify v-text-fields 输入文本颜色。我尝试了很多方法,但都没有奏效。
我尝试将“Hello”文本更改为红色。它不工作。
【问题讨论】:
-
你能否提供一个最小的例子来帮助你
-
我添加了一张图片。
标签: textfield vuetify.js
如何更改 Vuetify v-text-fields 输入文本颜色。我尝试了很多方法,但都没有奏效。
我尝试将“Hello”文本更改为红色。它不工作。
【问题讨论】:
标签: textfield vuetify.js
您需要在 Styles 部分创建一个与 CSS 样式相关的文件,并将其命名为 Override。在该文件中,您可以进行所需的任何更改。将以下代码放入该文件中,您可以更改边框的颜色:
.v-text-field {
input {
color: rgba(169, 169, 169, 0.33);
}
}
【讨论】:
如果您使用 v-custom,下面的 scss 覆盖将为您工作:
<div class="input-text-wrapper">
<v-text-field class="input-text"/>
</div>
风格:
<style scoped lang="scss">
.input-text {
::v-deep {
.v-text-field {
input {
color: blue;
}
}
}
}
</style>
【讨论】:
对我有用的是将主题颜色导出为 css 变量(自定义属性)。代码如下
// src/plugins/vuetify.js
import Vue from 'vue'
import Vuetify from 'vuetify/lib'
export default new Vuetify({
theme: {
options: {
customProperties: true,
},
},
})
然后在scss中使用如下代码:
.v-text-field {
input {
color: var(--v-primary-base);
}
}
【讨论】:
这行得通:
<v-text-field class="text-input-blue"/>
结合 CSS:
.text-input-blue .v-text-field__slot input {
color: #00f !important;
}
Javascript 框架的缺点之一是 CSS 通常难以自定义。
【讨论】:
有几种方法可以做到这一点。
一种方便的方法是在v-text-field 上设置一个类,然后使用特异性设置color 的color。
注意,不直接编辑 Vuetify 主题时需要使用!important 标志。
在模板中,
<v-text-field class="text-green"></v-text-field>
在 CSS(例如样式标签)中,
.text-green input {
color: green !important;
}
实时片段:
new Vue({
el: '#app',
data: () => ({
name: 'John'
})
})
.text-green input{
color: green !important;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@1.5.14/dist/vuetify.min.js"></script>
<div id="app">
<v-app>
<v-text-field class="text-green" v-model="name"></v-text-field>
</v-app>
</div>
【讨论】:
!important。