如何更改input
文本框的字体颜色而不影响Internet 11中的placeholder
字体颜色?
如果我在输入(小提琴)中更改字体的颜色:
<div class="buttonToolbar">
<input type="text" placeholder="e.g. Stackoverflow"><br>
</div>
CSS
.buttonToolbar input {
color: Blue;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
font-style: italic;
color: GrayText;
}
::-webkit-input-placeholder { /* WebKit browsers */
font-style: italic;
color: GrayText;
}
占位符文本不再是Internet 11中默认的灰色颜色:
但它确实显示了我想在Chrome 35中显示的内容:
奖金喋喋不休
如果我不设置input
框的样式,那么输入框就不会被样式化。改变:
.buttonToolbar input {
color: Blue;
}
至
.buttonToolbar {
color: Blue;
}
这意味着占位符文本现在执行它应该做的事情:
但是,现在文本的颜色并没有做它应该做的事情:
我需要的是弄清楚如何用CSS改变输入的HTML5占位符颜色。
奖金阅读
发布于 2014-07-02 21:43:30
占位符选择器需要更具体,如下所示。
.buttonToolbar input {
color: Blue;
}
.buttonToolbar input:-ms-input-placeholder { /* Internet Explorer 10+ */
font-style: italic;
color: GrayText;
}
.buttonToolbar input::-webkit-input-placeholder { /* WebKit browsers */
font-style: italic;
color: GrayText;
}
http://jsfiddle.net/55Sfz/2/
发布于 2014-07-02 20:07:58
我对此有点陌生,这个答案可能只是一个快速的解决办法.但是如果你在GrayText之后加上!重要的话,那么它似乎是有效的(至少在IE10中是这样)。
color: GrayText !important;
这是小提琴http://jsfiddle.net/uc2Rj/
如果你不想使用!重要的是,这至少可以让你朝着正确的方向解决你的问题。它可能是关于类的伪元素和优先级的东西。(为什么我不能覆盖现有的伪元素?)
发布于 2018-08-22 12:14:45
有三种不同的实现:伪元素、伪类和nothing。
WebKit, Blink (Safari, Google Chrome, Opera 15+) and Microsoft Edge are using a pseudo-element: ::-webkit-input-placeholder.
Mozilla Firefox 4 to 18 is using a pseudo-class: :-moz-placeholder (one colon).
Mozilla Firefox 19+ is using a pseudo-element: ::-moz-placeholder, but the old selector will still work for a while.
Internet 10和11正在使用伪类::-ms-输入-占位符.2017年4月:大多数现代浏览器支持简单的伪元素::占位符Internet 9和更低版本根本不支持占位符属性,而Opera 12和更低版本则不支持占位符的任何CSS选择器。
关于最佳实施的讨论仍在进行中。注意,伪元素的作用就像影子DOM中的真实元素。输入上的填充将不会得到与伪元素相同的背景色。
https://stackoverflow.com/questions/24539672
复制相似问题