Ich verwende derzeit readonly = "readonly", um Felder zu deaktivieren. Ich versuche jetzt, das Attribut mit CSS zu formatieren. Ich habe es versucht
input[readonly] {
/*styling info here*/
}
aber es funktioniert aus irgendeinem Grund nicht. Ich habe es auch versucht
input[readonly='readonly'] {
/*styling info here*/
}
das funktioniert auch nicht.
Wie kann ich das schreibgeschützte Attribut mit CSS formatieren?
html
css
css-selectors
Seidelbast
quelle
quelle
input[readonly]
sollte arbeiten. Stellen Sie sicher, dass es nicht von anderen, spezifischeren Selektoren an anderer Stelle in Ihrem Stylesheet überschrieben wird.input[readonly='readonly']
funktioniert nur, wenn Sie HTML wie verwenden<input readonly="readonly">
, nicht für z<input readonly>
.input[readonly]
sollte zu beiden passen.!important
sollte funktionieren, um zu überschreiben, es sei denn, Sie haben auch!important
auf der Einstellungsklasse?Antworten:
https://curtistimson.co.uk/post/css/style-readonly-attribute-css/
quelle
input[readonly]
stattdessenreadonly
ein boolesches Attribut verwenden, das keinen bestimmten Wert hat.readonly="readonly"
von Ihreminput
Element.Beachten Sie, dass dies
textarea[readonly="readonly"]
funktioniert, wenn Siereadonly="readonly"
in HTML festlegen , aber NICHT, wenn Sie dasreadOnly
Attribut -attribut auftrue
oder"readonly"
über JavaScript festlegen .Damit der CSS-Selektor funktioniert, wenn Sie
readOnly
mit JavaScript festlegen , müssen Sie den Selektor verwendentextarea[readonly]
.Gleiches Verhalten in Firefox 14 und Chrome 20.
Um auf der sicheren Seite zu sein, benutze ich beide Selektoren.
quelle
textarea[readonly]
- jedertextarea[readonly="readonly"]
wird garantiert dazu passen.Um sicher zu gehen, können Sie beide verwenden ...
Das schreibgeschützte Attribut ist ein "boolesches Attribut", das entweder leer oder "schreibgeschützt" sein kann (die einzig gültigen Werte). http://www.whatwg.org/specs/web-apps/current-work/#boolean-attribute
Wenn Sie so etwas wie jQuery verwenden
.prop('readonly', true)
Funktion, werden Sie am am Ende brauchen[readonly]
, während , wenn Sie verwenden ,.attr("readonly", "readonly")
dann werden Sie brauchen[readonly="readonly"]
.Korrektur: Sie müssen nur verwenden
input[readonly]
. Einschließeninput[readonly="readonly"]
ist überflüssig. Siehe https://stackoverflow.com/a/19645203/1766230quelle
Viele Antworten hier, aber ich habe die von mir verwendete nicht gesehen:
Beachten Sie den Bindestrich im Pseudo-Selektor. Wenn die Eingabe ist
readonly="false"
, wird dies auch erfasst, da dieser Selektor unabhängig vom Wert das Vorhandensein von schreibgeschützt erfasst. Technischfalse
ist nach Vorgabe ungültig, aber das Internet ist keine perfekte Welt. Wenn Sie diesen Fall abdecken müssen, können Sie Folgendes tun:textarea
funktioniert genauso:Beachten Sie, dass HTML unterstützt jetzt nicht nur
type="text"
, sondern eine ganze Reihe von anderen Texttypen einer solchenumber
,tel
,email
,date
,time
,url
, usw. Jeder müßte an die Wähler hinzugefügt werden.quelle
:read-only
und andere Pseudo-Selektoren wurden dem W3C-Standard hinzugefügt und können mit IE 10-Vorschau-Builds 10547 und höher verwendet werden.Es gibt einige Möglichkeiten, dies zu tun.
Der erste ist der am weitesten verbreitete. Es funktioniert in allen gängigen Browsern.
Während der oben stehende alle Eingänge mit
readonly
angeschlossenem Eingang auswählt, wählt dieser unten nur das aus, was Sie wünschen. Stellen Sie sicher, dassdemo
Sie den gewünschten Eingabetyp verwenden.Dies ist eine Alternative zum ersten, wird aber nicht oft verwendet:
Die
:read-only
Auswahl wird in Chrome, Opera und Safari unterstützt. Firefox verwendet:-moz-read-only
. IE unterstützt den:read-only
Selektor nicht.Sie können auch verwenden
input[readonly="readonly"]
, aber dies ist so ziemlich das gleiche wieinput[readonly]
aus meiner Erfahrung.quelle
Es sollten alle Fälle für ein schreibgeschütztes Eingabefeld abgedeckt werden ...
quelle
Großschreibung des ersten Buchstabens von Nur
quelle
Wenn Sie die Eingabe anhand der ID auswählen und dann das
input[readonly="readonly"]
Tag in die CSS einfügen, haben Sie Folgendes:Das wird nicht funktionieren. Sie müssen eine übergeordnete Klasse oder ID und dann die Eingabe auswählen. Etwas wie:
Meine 2 Cent beim Warten auf neue Tickets bei der Arbeit: D.
quelle
Verwenden Sie Folgendes, um in allen Browsern zu arbeiten:
quelle