【发布时间】:2011-02-06 07:39:03
【问题描述】:
Chrome 支持 input[type=text] 元素上的 placeholder attribute(其他人可能也这样做)。
但下面的 CSS 对占位符的值没有任何作用:
input[placeholder], [placeholder], *[placeholder] {
color: red !important;
}
<input type="text" placeholder="Value">
但Value 仍将保留为grey 而不是red。
有没有办法改变占位符文本的颜色?
【问题讨论】:
-
快速提示(不是解决方案,仅供参考):如果我没记错的话, input[placeholder] 只匹配具有占位符属性的 标记,它与占位符不匹配属性本身。
-
是的,我的脑海里闪过一个想法,这可能就像尝试为元素的“标题”属性设置样式一样。所以 +1 的想法相同!
-
@MathiasBynens :placeholder-shown 伪类匹配显示此类占位符文本的输入元素。 所以它匹配
<input>标签,例如input选择器,但刚刚显示占位符文本。它也与占位符属性本身不匹配。 -
@HEX 它不像
input选择器,因为它选择了所有input元素。:placeholder-shown仅选择当前显示占位符的input元素,允许您仅设置这些元素的样式,并有效地设置占位符文本的样式。你想说什么? -
@HEX(当然,它还选择了显示占位符文本的
textarea元素。)
标签: css html placeholder html-input