:read-only

Псевдоклас CSS :read-only (лише для зчитування) вибирає елементи (наприклад, певні типи <input>, а також <textarea>), які не може редагувати користувач. Елементи, на які не діє атрибут HTML readonly (наприклад, <input type="radio">, <input type="checkbox"> та усі неформові елементи), також вибираються псевдокласом :read-only. Фактично :read-only дає збіг з усім, з чим не дає збігу :read-write, що робить його рівносильним :not(:read-write).

Спробуйте його в дії

Синтаксис

:read-only {
  /* ... */
}

Приклади

Підтвердження інформації форми за допомогою елементів лише для зчитування та елементів для зчитування та запису

Одне з застосувань контрольних елементів, доступних лише для зчитування, — дати користувачам змогу перевірити та підтвердити інформацію, яку вони ввели в попередній формі (наприклад, деталі доставлення), але щоб вони при цьому й надалі могли подати цю інформацію вкупі з рештою форми. В прикладі нижче зроблено саме це.

Псевдоклас :read-only вживається для усунення всього оформлення, завдяки якому поля мають вигляд інтерактивних, а натомість змушує їх мати вигляд абзаців, доступних лише для зчитування. Псевдоклас :read-write, з іншого боку, використовується для надання трохи красивішого оформлення редагованому елементу <textarea>.

input:read-only,
textarea:read-only {
  border: 0;
  box-shadow: none;
  background-color: #ddd;
}

textarea:read-write {
  outline: 1px dashed red;
  outline-offset: 2px;
  border-radius: 5px;
}

Оформлення неформових контрольних елементів лише для зчитування

Цей селектор вибирає не лише елементи <input> і <textarea> – він обирає всі елементи, що не можуть редагуватися користувачами.

<p contenteditable>
  Цей абзац – редагований, він read-write (і для зчитування, і для запису).
</p>

<p>Цей абзац – нередагований, він read-only (лише для зчитування).</p>
p {
  font-size: 150%;
  padding: 5px;
  border-radius: 5px;
}

p:read-only {
  background-color: red;
  color: white;
}

p:read-write {
  background-color: lime;
}

Специфікації

Сумісність із браузерами

desktop mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet
:read-only
Chrome Full support 1
Edge Full support 13
Firefox Full support 78
Internet Explorer No support Ні
Opera Full support 9
Safari Full support 4
WebView Android Full support 37
Chrome Android Full support 18
Firefox for Android Full support 4
prefix
Opera Android Full support 10.1
Safari on iOS Full support 3.2
Samsung Internet Full support 1.0

Дивіться також