A :read-write
és :read-only
szelektor két mutability pszeudo-osztályok tételét célzó forma hajformázó könnyebb alapul disabled
, readonly
és contenteditable
HTML-attribútumok. Bár a böngésző támogatása nem is olyan rossz, a különféle megvalósítások meglehetősen nyersek.
A hivatalos CSS specifikációk szerint a :read-write
választó egy elemnek megfelel, ha:
- vagy an,
input
amelynekreadonly
nincsenekdisabled
attribútumai. - ez egy,
textarea
amelynek nincs se,readonly
sedisabled
- ez bármilyen más szerkeszthető elem (az
contenteditable
attribútumnak köszönhetően )
Szintaxis és példa
/* 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; )
Böngésző támogatás
Ez a böngésző támogatási adat a Caniuse cégtől származik, amely részletesebben szerepel. Egy szám azt jelzi, hogy a böngésző támogatja az adott és újabb verziók szolgáltatásait.
Asztal
Króm | Firefox | AZAZ | Él | Szafari |
---|---|---|---|---|
36 | 3 * | Nem | 13. | 9. |
Mobil / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81. | 9.0-9.2 |
Nagy különbség van a specifikációkban ajánlottak és a böngészők által ténylegesen végrehajtottak között. Például, ha ragaszkodunk a specifikációkhoz, akkor minden elemet, amely felhasználó által szerkeszthető, de le van tiltva ( disabled
vagy readonly
), vagy egyszerűen nem szerkeszthető, nem minősített :read-only
választóval kell megcélozni .
Króm | Firefox | Szafari | Opera | |
---|---|---|---|---|
input | :ír olvas | :ír olvas | :ír olvas | :ír olvas |
input(disabled) | :ír olvas | :ír olvas | :ír olvas | :ír olvas |
input(readonly) | :csak olvasható | :csak olvasható | :csak olvasható | :csak olvasható |
(contenteditable) | - | :ír olvas | - | :csak olvasható |
* | - | :csak olvasható | - | :csak olvasható |
Eközben úgy tűnik, hogy csak a Firefox teszi ezt, és látszólag sem túl jól, mivel egy disabled
inputot tekint :read-write
. Ami azt illeti, hogy az Opera nem címkéz egy contenteditable
elemet :read-write
, egyszerűen azért, mert nem támogatja contenteditable
.