:read-write
И :read-only
селектори су два мутабилити псеудо-класе која има за циљ прављење облика стилинг лакше основу disabled
, readonly
и contenteditable
ХТМЛ атрибут. Иако подршка за прегледач није толико лоша, разне примене су прилично несигурне.
Према званичним ЦСС спецификацијама, :read-write
селектор ће одговарати елементу када:
- то је или
input
које имаreadonly
нитиdisabled
атрибуте. - то је
textarea
које немаreadonly
нитиdisabled
- то је било који други елемент који се може уређивати (захваљујући
contenteditable
атрибуту)
Синтакса и пример
/* 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; )
Подршка прегледача
Подаци о подршци за прегледач су од компаније Цаниусе, која садржи више детаља. Број указује на то да прегледач подржава функцију у тој верзији и новијој.
Десктоп
Хром | Фирефок | ИЕ | Ивица | Сафари |
---|---|---|---|---|
36 | 3 * | Не | 13 | 9 |
Мобиле / Таблет
Андроид Цхроме | Андроид Фирефок | Андроид | иОС Сафари |
---|---|---|---|
88 | 85 | 81 | 9.0-9.2 |
Постоји велика разлика између препорученог у спецификацијама и онога што прегледачи заправо раде. На пример, ако се придржавамо спецификација, сваки неквалификовани бирач треба да циља сваки елемент који је могуће уређивати, али онемогућити ( disabled
или readonly
) или једноставно не може уређивати корисник :read-only
.
Хром | Фирефок | Сафари | Опера | |
---|---|---|---|---|
input | : читање-писање | : читање-писање | : читање-писање | : читање-писање |
input(disabled) | : читање-писање | : читање-писање | : читање-писање | : читање-писање |
input(readonly) | :само за читање | :само за читање | :само за читање | :само за читање |
(contenteditable) | - | : читање-писање | - | :само за читање |
* | - | :само за читање | - | :само за читање |
У међувремену, чини се да то чини само Фирефок, а очигледно ни превише добро јер disabled
унос сматра као :read-write
. Што се тиче Опере која не означава contenteditable
елемент као :read-write
, то је једноставно зато што не подржава contenteditable
.