J'utilise actuellement readonly = "readonly" pour désactiver les champs. J'essaye maintenant de styliser l'attribut en utilisant CSS. J'ai essayé d'utiliser
input[readonly] {
/*styling info here*/
}
mais cela ne fonctionne pas pour une raison quelconque. J'ai aussi essayé
input[readonly='readonly'] {
/*styling info here*/
}
cela ne fonctionne pas non plus.
Comment puis-je styliser l'attribut readonly avec CSS?
html
css
css-selectors
Daphné
la source
la source
input[readonly]
devrait marcher. Assurez-vous qu'il n'est pas remplacé par d'autres sélecteurs plus spécifiques ailleurs dans votre feuille de style.input[readonly='readonly']
ne fonctionnera que si vous utilisez HTML comme<input readonly="readonly">
, pas pour par exemple<input readonly>
.input[readonly]
devrait correspondre aux deux.!important
devrait fonctionner pour remplacer, sauf si vous avez également!important
sur la classe de réglage?Réponses:
https://curtistimson.co.uk/post/css/style-readonly-attribute-css/
la source
input[readonly]
placereadonly
un attribut booléen qui n'est pas conçu pour avoir une valeur spécifique.readonly="readonly"
de votreinput
élément.Notez que cela
textarea[readonly="readonly"]
fonctionne si vous définissezreadonly="readonly"
en HTML, mais cela ne fonctionne PAS si vous définissez l'readOnly
attribut surtrue
ou"readonly"
via JavaScript.Pour que le sélecteur CSS fonctionne si vous définissez
readOnly
avec JavaScript, vous devez utiliser le sélecteurtextarea[readonly]
.Même comportement dans Firefox 14 et Chrome 20.
Pour être sûr, j'utilise les deux sélecteurs.
la source
textarea[readonly]
place - touttextarea[readonly="readonly"]
est garanti pour correspondre à cela.Pour être sûr, vous pouvez utiliser les deux ...
L'attribut readonly est un "attribut booléen", qui peut être vide ou "readonly" (les seules valeurs valides). http://www.whatwg.org/specs/web-apps/current-work/#boolean-attribute
Si vous utilisez quelque chose comme la
.prop('readonly', true)
fonction de jQuery , vous en aurez besoin[readonly]
, alors que si vous utilisez,.attr("readonly", "readonly")
vous en aurez besoin[readonly="readonly"]
.Correction: il vous suffit d'utiliser
input[readonly]
. Y comprisinput[readonly="readonly"]
est redondant. Voir https://stackoverflow.com/a/19645203/1766230la source
Des tas de réponses ici, mais je n'ai pas vu celle que j'utilise:
Notez le tiret dans le pseudo-sélecteur. Si l'entrée est,
readonly="false"
il l'attrapera aussi puisque ce sélecteur détecte la présence de lecture seule quelle que soit la valeur. Techniquement, ilfalse
n'est pas valide selon les spécifications, mais Internet n'est pas un monde parfait. Si vous devez couvrir ce cas, vous pouvez le faire:textarea
fonctionne de la même manière:Gardez à l' esprit que le HTML supporte désormais non seulement
type="text"
, mais un grand nombre d'autres types de texte telnumber
,tel
,email
,date
,time
,url
, etc. Chacun devrait être ajouté au sélecteur.la source
:read-only
et d'autres sélecteurs psuedo ont été ajoutés à la norme W3C et peuvent être utilisés avec les versions de prévisualisation IE 10 10547 et supérieures.Il y a quelques façons de le faire.
Le premier est le plus utilisé. Cela fonctionne sur tous les principaux navigateurs.
Alors que celui ci-dessus sélectionnera toutes les entrées avec
readonly
attaché, celui ci-dessous ne sélectionnera que ce que vous désirez. Assurez-vous de le remplacerdemo
par le type d'entrée souhaité.Ceci est une alternative au premier, mais il n'est pas beaucoup utilisé:
Le
:read-only
sélecteur est pris en charge dans Chrome, Opera et Safari. Firefox utilise:-moz-read-only
. IE ne prend pas en charge le:read-only
sélecteur.Vous pouvez également utiliser
input[readonly="readonly"]
, mais c'est à peu près la même chose queinput[readonly]
, d'après mon expérience.la source
Shoud couvrir tous les cas pour un champ de saisie en lecture seule ...
la source
mettre en majuscule la première lettre de Only
la source
Si vous sélectionnez l'entrée par l'ID, puis ajoutez la
input[readonly="readonly"]
balise dans le css, quelque chose comme:Ça ne marchera pas. Vous devez sélectionner une classe parente ou un identifiant puis l'entrée. Quelque chose comme:
Mes 2 cents en attendant de nouveaux billets au travail: D
la source
Utilisez ce qui suit pour travailler dans tous les navigateurs:
la source