:read-write
I :read-only
selektora su dva promjenljivost pseudo-klase usmjerenih na stvaranje obrasca styling lakše temelju disabled
, readonly
i contenteditable
HTML atributi. Iako podrška preglednika nije toliko loša, razne su implementacije prilično neskladne.
Prema službenim CSS specifikacijama, :read-write
selektor će odgovarati elementu kada:
- to je ili
input
koje imareadonly
nitidisabled
atribute. - to je
textarea
koje nemareadonly
nitidisabled
- to je bilo koji drugi element koji se može uređivati (zahvaljujući
contenteditable
atributu)
Sintaksa i primjer
/* Any element that is not writable */ :read-only ( ) /*… so you might want to scope it */ input:read-only, textarea:read-only, (contenteditable):read-only ( cursor: not-allowed; ) /* Any enabled text input or enabled textarea or element with the contenteditable attribute */ :read-write ( background: white; cursor: text; )
Podrška preglednika
Podaci o podršci preglednika potječu iz tvrtke Caniuse, koja sadrži više detalja. Broj označava da preglednik podržava značajku u toj verziji i novijoj.
Radna površina
Krom | Firefox | IE | Rub | Safari |
---|---|---|---|---|
36 | 3 * | Ne | 13 | 9 |
Mobitel / tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 9,0-9,2 |
Velika je razlika između preporučenog u specifikacijama i onoga što preglednici zapravo rade. Na primjer, ako se pridržavamo specifikacija, svaki nekvalificirani selektor treba ciljati svaki element koji je moguće uređivati, ali onemogućiti ( disabled
ili readonly
) ili jednostavno ne može uređivati korisnik :read-only
.
Krom | Firefox | Safari | Opera | |
---|---|---|---|---|
input | : čitanje-pisanje | : čitanje-pisanje | : čitanje-pisanje | : čitanje-pisanje |
input(disabled) | : čitanje-pisanje | : čitanje-pisanje | : čitanje-pisanje | : čitanje-pisanje |
input(readonly) | :samo za čitanje | :samo za čitanje | :samo za čitanje | :samo za čitanje |
(contenteditable) | - | : čitanje-pisanje | - | :samo za čitanje |
* | - | :samo za čitanje | - | :samo za čitanje |
U međuvremenu, čini se da to čini samo Firefox, a očito ni previše dobro jer disabled
unos smatra :read-write
. S obzirom na to da Opera ne označava contenteditable
element kao :read-write
, to je jednostavno zato što ne podržava contenteditable
.