Comment style attribut lecture seule avec CSS?

Je suis actuellement à l'aide readonly="readonly" pour désactiver les champs. Je vais maintenant essayer de style, l'attribut à l'aide de CSS. J'ai essayé d'utiliser

input[readonly] {
/*styling info here*/
}

mais il ne fonctionne pas pour une raison quelconque. J'ai aussi essayé de

input[readonly='readonly'] {
/*styling info here*/
}

ne marche pas non plus.

Comment puis-je style de l'attribut lecture seule avec CSS?

  • input[readonly] devrait fonctionner. Assurez-vous qu'il n'est pas être remplacées par d'autres, plus spécifiques des sélecteurs d'ailleurs dans votre feuille de style.
  • si vous souhaitez désactiver, puis utilisez le désactivé attribut et non en lecture seule
  • J'ai remarqué que vous manquez une apostrophe dans la deuxième sélecteur. Doit être entrée[readonly='readonly'] et il fonctionnera aussi bien comme entrée[readonly].
  • Readonly et les handicapés ont des comportements différents au total. Readonly champs envoyé au serveur sur le formulaire de soumission lors d'une invalidité les champs ne sont pas.
  • input[readonly='readonly'] ne fonctionnera que si vous utilisez le code HTML comme <input readonly="readonly">, pas pour, par exemple,<input readonly>. input[readonly] doit correspondre à la fois.
  • juste un avis, IE6/7 ne prend pas en charge cet attribut sélecteur seule IE8+
  • K: IE7 est bien avec sélecteur d'attribut pour des choses comme les readonly. Il ne bousille dans certains cas particuliers (par exemple, obtenir des DOM des propriétés et attributs HTML mélangé).
  • désolé, attaché à ce commentaire à la mauvaise partie. Curt réponse ci-dessous ne fonctionne pas dans IE6/7. il ne reconnaît pas input[readonly="readonly"], il doit être seulement input[readonly].
  • Ouais, je sais, ça ne fonctionne pas de la même comme un handicapé. J'ai pour l'utilisation en lecture seule car je veux que le formulaire pour soumettre les mêmes valeurs, mais aussi d'empêcher les utilisateurs de modifier le champ. J'ai utilisé jQuery pour empêcher la lecture seule de la valeur de la focalisation donc, c'est comme désactivé, mais vous pouvez soumettre des valeurs.
  • Désolé, c'était une faute de frappe. J'ai l'apostrophe dans le deuxième sélecteur. Ont modifié la question de la description.
  • Je pense que cela pourrait être la raison. J'utilise class="setting" pour modifier les paramètres des champs dans le formulaire pour le rendre différent de la normale de la valeur d'entrée. J'ai juste essayé d'utiliser !important à côté de la lecture-seule classe dans la tentative de hiérarchiser la lecture-seule classe, mais ça ne fonctionne pas. Comment peut-on avoir à la fois les paramètres de la classe et de la lecture-seule classe actuelle étant donné que seuls certains champs sont en lecture seule et ne peut pas utiliser en lecture seule pour tous les champs.
  • !important devrait fonctionner à remplacer, sauf si vous avez également !important sur le paramètre de la classe?
  • oh, ok, alors 🙂 ce que les styles exactement vous êtes en essayant de l'appliquer? pas chaque élément de support de chaque attribut css...
  • Hmm, non je n'ai pas !important sur les paramètres de la classe. Mon code est comme suit: input[readonly] !important { color: red; } input.setting { font-family: Verdana, Helvetica, sans-serif; font-size: 11px; color: #676563; background: #d5cec5; border: 0px; margin: 3px; padding: 8px; height: 18px; width: 200px; -moz-border-radius: 5px; -webkit-border-radius: 5px; } input:focus.setting { color: #555; background-color: #f5f1eb; }
  • Pourriez-vous modifier que dans votre question, s'il vous plaît? Je remarque aussi un errant !important après votre sélecteur - était-ce une erreur dans votre commentaire?
  • Vous pouvez cibler sélecteur d'attribut dans ie8 si le doctype est HTML5. caniuse.com

InformationsquelleAutor Daphne | 2012-03-09