Ändern Sie die Platzhalterfarbe einer HTML-Eingabe mithilfe von CSS
P粉068510991
P粉068510991 2023-08-27 11:17:26
0
2
486
<p>Chrome v4 unterstützt Platzhalterattribute für das Element <code>input[type=text]</code> (andere können dasselbe tun). </p> <p>Das folgende CSS macht jedoch nichts mit dem Platzhalterwert: </p> <p><br /></p> <pre class="brush:css;toolbar:false;">input[placeholder], [placeholder], *[placeholder] { Farbe: rot !wichtig; }</pre> <pre class="brush:html;toolbar:false;"><input type="text" placeholder="Value"></pre> <p><br /></p> Der <p><code>Wert</code> bleibt <code>grau</code>. </p> <p><strong>Gibt es eine Möglichkeit, die Farbe des Platzhaltertextes zu ändern? </strong></p>
P粉068510991
P粉068510991

Antworte allen(2)
P粉680087550

/* do not group these rules */
*::-webkit-input-placeholder {
    color: red;
}
*:-moz-placeholder {
    /* FF 4-18 */
    color: red;
    opacity: 1;
}
*::-moz-placeholder {
    /* FF 19+ */
    color: red;
    opacity: 1;
}
*:-ms-input-placeholder {
    /* IE 10+ */
    color: red;
}
*::-ms-input-placeholder {
    /* Microsoft Edge */
    color: red;
}
*::placeholder {
    /* modern browser */
    color: red;
}
<input placeholder="hello"/> <br />
<textarea placeholder="hello"></textarea>

这将为所有inputtextarea占位符设置样式。

重要说明:不要对这些规则进行分组。相反,为每个选择器制定单独的规则(组中一个无效的选择器会使整个组无效)。

P粉765684602

实施

共有三种不同的实现:伪元素、伪类和无。

  • WebKit、Blink(Safari、Google Chrome、Opera 15+)和 Microsoft Edge 使用伪元素:::-webkit-input-placeholder[参考]
  • Mozilla Firefox 4 到 18 使用伪类::-moz-placeholder一个冒号)。 [参考]
  • Mozilla Firefox 19+ 使用伪元素:::-moz-placeholder,但旧的选择器仍将工作一段时间。 [参考]
  • Internet Explorer 10 和 11 使用伪类::-ms-input-placeholder[参考]
  • 2017 年 4 月:大多数现代浏览器支持简单的伪元素 ::placeholder [Ref]

Internet Explorer 9 及更低版本根本不支持 placeholder 属性,而 Opera 12 及更低版本不支持任何占位符的 CSS 选择器。

关于最佳实施方案的讨论仍在继续。请注意,伪元素的行为就像阴影中的真实元素一样DOMinput 上的 padding 将不会获得与伪元素相同的背景颜色。

CSS 选择器

用户代理需要忽略具有未知选择器的规则。请参阅选择器级别 3

因此我们需要为每个浏览器制定单独的规则。否则整个组将被所有浏览器忽略。

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:    #909;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color:    #909;
   opacity:  1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
   color:    #909;
   opacity:  1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:    #909;
}
::-ms-input-placeholder { /* Microsoft Edge */
   color:    #909;
}

::placeholder { /* Most modern browsers support this now. */
   color:    #909;
}
<input placeholder="Stack Snippets are awesome!">
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage