我正在使用Materialize.css框架,我注意到文本input
字段的颜色是绿色,label
也是。
有没有办法将颜色更改为不同的颜色?
<input type="text" id="username" />
<label for="username">Username</label>
答案 0 :(得分:29)
根据Materialize Docs,你可以使用:
/* label focus color */
.input-field input[type=text]:focus + label {
color: #000;
}
/* label underline focus color */
.input-field input[type=text]:focus {
border-bottom: 1px solid #000;
box-shadow: 0 1px 0 0 #000;
}
/*** !important was needed for snippet ***/
/* label focus color */
.input-field input:focus + label {
color: red !important;
}
/* label underline focus color */
.row .input-field input:focus {
border-bottom: 1px solid red !important;
box-shadow: 0 1px 0 0 red !important
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.6/css/materialize.min.css" rel="stylesheet" />
<link rel="stylesheet" href="http://fonts.googleapis.com/icon?family=Material+Icons">
<div class="row">
<form class="col s12">
<div class="row">
<div class="input-field col s6">
<i class="material-icons prefix">account_circle</i>
<input id="icon_prefix" type="text" class="validate">
<label for="icon_prefix">First Name</label>
</div>
<div class="input-field col s6">
<i class="material-icons prefix">phone</i>
<input id="icon_telephone" type="tel" class="validate">
<label for="icon_telephone">Telephone</label>
</div>
</div>
</form>
</div>
答案 1 :(得分:7)
dippas答案是正确的,但如果你想要textareas是相同的颜色,你必须设置这个CSS规则:
/* label focus color */
.input-field input[type=text]:focus + label, .materialize-textarea:focus:not([readonly]) + label {
color: #005eed !important;
}
/* label underline focus color */
.input-field input[type=text]:focus, .materialize-textarea:focus:not([readonly]) {
border-bottom: 1px solid #005eed !important;
box-shadow: 0 1px 0 0 #005eed !important;
}
请注意标签和边框底部的.materialize-textarea规则。
答案 2 :(得分:1)
在文档中说明如何设置materialize默认颜色。您需要将sass
个文件下载到项目中,然后需要更改这些变量。
您需要转到/sass/components/forms/*/
设置所需的元素。
在所有元素中,您可以看到颜色是$secondary-color
,您可以在/sass/components/_variables.scss
文件中找到该变量,并且您可以将其值设置为您所有项目的颜色。
答案 3 :(得分:0)
最后,我找到了解决方案。您需要将颜色更改为活动和不活动。
图标:
.material-icons{
color: #1a237e !important;
}
.material-icons.active {
color: #b71c1c !important;
}
文本字段:
.input-field input[type=text] + label, .materialize-textarea:focus:not([readonly]) + label {
color: #1a237e !important;
}
.input-field input[type=text], .materialize-textarea:focus:not([readonly]) {
border-bottom: 1px solid #1a237e !important;
box-shadow: 0 1px 0 0 #1a237e !important;
}
.input-field input[type=text]:focus + label, .materialize-textarea:focus:not([readonly]) + label {
color: #b71c1c !important;
}
.input-field input[type=text]:focus, .materialize-textarea:focus:not([readonly]) {
border-bottom: 1px solid #b71c1c !important;
box-shadow: 0 1px 0 0 #b71c1c !important;
}
答案 4 :(得分:0)
万一有人在2019年出现,并尝试使用新版本的Materialize(1.0.0) 和 不想使用 !在他们的CSS中很重要 ,下面的代码段对我有用。
注意:这将适用于所有输入字段,如果需要特定的输入字段(即文本),则将[type]更改为[type = text]。
/* Inactive/Active Default input field color */
.input-field input[type]:not([readonly]),
.input-field input[type]:focus:not([readonly]),
.input-field textarea:not([readonly]),
.input-field textarea:focus:not([readonly]) {
border-bottom: 1px solid #01579b;
box-shadow: 0 1px 0 0 #01579b;
}
/* Inactive/Active Default input label color */
.input-field input[type]:focus:not([readonly])+label,
.input-field textarea:focus:not([readonly])+label {
color: #01579b;
}
/* Active/Inactive Invalid input field colors */
.input-field input[type].invalid,
.input-field input[type].invalid:focus,
.input-field textarea.invalid,
.input-field textarea.invalid:focus {
border-bottom: 1px solid #e57373;
box-shadow: 0 1px 0 0 #e57373;
}
/* Active/Inactive Invalid input label color */
.input-field input[type].invalid:focus+label,
.input-field input[type].invalid~.helper-text::after,
.input-field input[type].invalid:focus~.helper-text::after,
.input-field textarea.invalid:focus+label,
.input-field textarea.invalid~.helper-text::after,
.input-field textarea.invalid:focus~.helper-text::after {
color: #e57373;
}
/* Active/Inactive Valid input field color */
.input-field input[type].valid,
.input-field input[type].valid:focus,
.input-field textarea.valid,
.input-field textarea.valid:focus {
border-bottom: 1px solid #26a69a;
box-shadow: 0 1px 0 0 #26a69a;
}
/* Active/Inactive Valid input label color */
.input-field input[type].valid:focus+label,
.input-field input[type].valid~.helper-text::after,
.input-field input[type].valid:focus~.helper-text::after,
.input-field textarea.valid:focus+label,
.input-field textarea.valid~.helper-text::after,
.input-field textarea.valid:focus~.helper-text::after {
color: #26a69a;
}
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
<style type="text/css">
.input-field input[type]:not([readonly]),
.input-field input[type]:focus:not([readonly]),
.input-field textarea:not([readonly]),
.input-field textarea:focus:not([readonly]) {
border-bottom: 1px solid #01579b;
box-shadow: 0 1px 0 0 #01579b;
}
.input-field input[type]:focus:not([readonly])+label,
.input-field textarea:focus:not([readonly])+label {
color: #01579b;
}
.input-field input[type].invalid,
.input-field input[type].invalid:focus,
.input-field textarea.invalid,
.input-field textarea.invalid:focus {
border-bottom: 1px solid #e57373;
box-shadow: 0 1px 0 0 #e57373;
}
.input-field input[type].invalid:focus+label,
.input-field input[type].invalid~.helper-text::after,
.input-field input[type].invalid:focus~.helper-text::after,
.input-field textarea.invalid:focus+label,
.input-field textarea.invalid~.helper-text::after,
.input-field textarea.invalid:focus~.helper-text::after {
color: #e57373;
}
.input-field input[type].valid,
.input-field input[type].valid:focus,
.input-field textarea.valid,
.input-field textarea.valid:focus {
border-bottom: 1px solid #26a69a;
box-shadow: 0 1px 0 0 #26a69a;
}
.input-field input[type].valid:focus+label,
.input-field input[type].valid~.helper-text::after,
.input-field input[type].valid:focus~.helper-text::after,
.input-field textarea.valid:focus+label,
.input-field textarea.valid~.helper-text::after,
.input-field textarea.valid:focus~.helper-text::after {
color: #26a69a;
}
</style>
</head>
<body>
<div class="input-field">
<input id="email" name="email" type="email" class="validate" required="required" autofocus>
<label for="email">Email</label>
<span class="helper-text" data-error="Must be a valid email" data-success="Perfect!"></span>
</div>
</div>
<div class="row">
<div class="input-field">
<input id="password" name="password" type="password"class="validate" required="required" minlength="6">
<label for="password">Password</label>
<span class="helper-text" data-error="Must have 6 or more characters" data-success="Perfect!"></span>
</div>
</div>
<div class="row">
<div class="input-field">
<textarea id="textarea" name="textarea" class="materialize-textarea validate" required="required" minlength="6"></textarea>
<label for="textarea">Textarea</label>
<span class="helper-text" data-error="Must have 6 or more characters" data-success="Perfect!"></span>
</div>
</div>
</body>