作者:李太有才_905 | 来源:互联网 | 2023-05-26 17:24
我正在写一个移动网站,我正在用sass设计它.
我想更改textinput的占位符颜色,但我无法做到这一点.
这是占位符的mixin
@mixin placeholder($color) {
::-webkit-input-placeholder {color: $color}
:-moz-placeholder {color: $color}
::-moz-placeholder {color: $color}
:-ms-input-placeholder {color: $color}
}
然后我将它包含在一个类中
.input-class {
@include placeholder(#FFFFFF);
}
最后将类设置为输入
但没有任何反应.另外我的IDE在mixins行上设置了一个错误,说我:"未知的伪选择器-webkit-input-placeholder"和chrome似乎无法识别该标记.
如何更改占位符的颜色?无论响应是sass还是css.
提前致谢.
1> Pinal..: 您不能单独使用它,只能使用选择器:
input::-webkit-input-placeholder {
color: #9B9B9B;
}
input:-ms-input-placeholder {
color: #9B9B9B;
}
input::-moz-placeholder {
color: #9B9B9B;
}
混入:
@mixin placeholder($selector, $color) {
#{$selector}::-webkit-input-placeholder {color: $color}
#{$selector}::-moz-placeholder {color: $color}
#{$selector}:-ms-input-placeholder {color: $color}
}
用法 :
@include placeholder('.input-class', #FFFFFF);
实例
PS 不要一起使用它们(这个选择器坏了,css解析器总是会失败):
input::-webkit-input-placeholder,//Not WebKit will fails here
input:-ms-input-placeholder,//Not IE will fails here
input::-moz-placeholder {//Not Firefox will fails here
color: #9B9B9B;
}
PS的+1我因为这个而花了一个小时拉我的头发.顺便说一句,Firefox吞下这个就好了,但Chrome拒绝了.