Changer la couleur de l'espace réservé d'une entrée HTML à l'aide de CSS
P粉068510991
2023-08-27 11:17:26
<p>Chrome v4 prend en charge les attributs d'espace réservé sur l'élément <code>input[type=text]</code> (d'autres peuvent faire de même). </p>
<p>Cependant, le CSS suivant ne fait rien avec la valeur de l'espace réservé : </p>
<p><br /></p>
<pre class="brush:css;toolbar:false;">input[placeholder], [placeholder], *[placeholder] {
couleur : rouge !important ;
}</pré>
<pre class="brush:html;toolbar:false;"><input type="text" placeholder="Value"></pre>
<p><br /></p>
La valeur <p><code>value</code> restera <code>gris</code> au lieu de <code>red</code>. </p>
<p><strong>Existe-t-il un moyen de modifier la couleur du texte de l'espace réservé ? </strong></p>
Cela stylisera tous les
input
和textarea
espaces réservés.Important : Ne regroupez pas ces règles. Au lieu de cela, créez des règles distinctes pour chaque sélecteur (un sélecteur invalide dans un groupe invalide l'ensemble du groupe).
Mise en œuvre
Il existe trois implémentations différentes : pseudo-élément, pseudo-classe et aucune.
::-webkit-input-placeholder
. [référence]:-moz-placeholder
(a colon). [référence]::-moz-placeholder
, mais l'ancien sélecteur fonctionnera encore pendant un certain temps. [Référence]:-ms-input-placeholder
. [Référence]::placeholder
[Ref]Internet Explorer 9 et versions antérieures ne prennent pas du tout en charge l'attribut
placeholder
, tandis que Opera 12 et versions antérieures ne prennent en charge aucun sélecteur CSS d'espace réservé.Les discussions sur les meilleures options de mise en œuvre se poursuivent. Notez que les pseudo-éléments se comportent comme de vrais éléments dans le shadow DOM.
input
上的padding
n'obtiendra pas la même couleur d'arrière-plan que le pseudo-élément.Sélecteur CSS
Les agents utilisateurs doivent ignorer les règles avec des sélecteurs inconnus. Voir Sélecteur Niveau 3 :
Nous devons donc établir des règles distinctes pour chaque navigateur. Sinon, l'ensemble du groupe sera ignoré par tous les navigateurs.