使用 CSS 變更 HTML 輸入的佔位符顏色
P粉068510991
2023-08-27 11:17:26
<p>Chrome v4 支援 <code>input[type=text]</code> 元素上的佔位符屬性(其他可能也這樣做)。 </p>
<p>但是,以下 CSS 不會對佔位符的值執行任何動作:</p>
<p><br /></p>
<pre class="brush:css;toolbar:false;">input[placeholder], [placeholder], *[placeholder] {
color: red !important;
}</pre>
<pre class="brush:html;toolbar:false;"><input type="text" placeholder="Value"></pre>
<p><br /></p>
<p><code>值</code>仍將保留<code>grey</code>,而不是<code>red</code>。 </p>
<p><strong>有辦法改變佔位文字的顏色嗎? </strong></p>
這將為所有
input
和textarea
佔位符設定樣式。重要說明:不要將這些規則分組。相反,為每個選擇器製定單獨的規則(群組中一個無效的選擇器會使整個群組無效)。
實作
共有三種不同的實作:偽元素、偽類和無。
::-webkit-input-placeholder
。 [參考]:-moz-placeholder
(一個冒號)。 [參考]::-moz-placeholder
,但舊的選擇器仍將工作一段時間。 [參考]:-ms-input-placeholder
。 [參考]::placeholder
[Ref]Internet Explorer 9 及更低版本根本不支援
placeholder
屬性,而 Opera 12 及更低版本不支援任何占位符的 CSS 選擇器。關於最佳實施方案的討論仍在繼續。請注意,偽元素的行為就像陰影中的真實元素一樣DOM。
input
上的padding
將不會獲得與偽元素相同的背景顏色。CSS 選擇器
使用者代理程式需要忽略具有未知選擇器的規則。請參閱選擇器等級 3:
因此我們需要為每個瀏覽器製定單獨的規則。否則整個群組將被所有瀏覽器忽略。