Кратко
СкопированоПсевдокласс :read
используется для задания стилей полям ввода только для чтения. Другими словами - данные в этом поле ввода пользователь не может изменить или удалить. Поле ввода при этом получает фокус, а данные в поле можно выделить и скопировать.
Пример
СкопированоСтилизуем поля только для чтения, делая их визуально отличными от обычных полей:
input:read-only { background-color: #f5f5f5; color: #666; border-color: #ddd; cursor: not-allowed;}textarea:read-only { background-color: #f5f5f5; color: #666; border-color: #ddd; cursor: not-allowed;}
input:read-only { background-color: #f5f5f5; color: #666; border-color: #ddd; cursor: not-allowed; } textarea:read-only { background-color: #f5f5f5; color: #666; border-color: #ddd; cursor: not-allowed; }
<input type="text" value="Это поле только для чтения" readonly><textarea readonly>Это текстовое поле тоже только для чтения</textarea><input type="text" value="Обычное поле для ввода">
<input type="text" value="Это поле только для чтения" readonly> <textarea readonly>Это текстовое поле тоже только для чтения</textarea> <input type="text" value="Обычное поле для ввода">
Как пишется
СкопированоПсевдокласс :read
применяется к тегам для ввода текста (<input>
или <textarea>
) с атрибутом readonly
. Также может быть применён к html-тегам, для которых установлен атрибут contenteditable
.
После селектора для поля ввода текста (<input>
и <textarea>
) или селектора с атрибутом contenteditable
ставим двоеточие и пишем ключевое слово read
.
В браузере Firefox :read
также поддерживается с префиксом -moz: :
.
/* Базовый синтаксис */input:read-only { /* стили */}/* Для Firefox */input:-moz-read-only { /* стили */}
/* Базовый синтаксис */ input:read-only { /* стили */ } /* Для Firefox */ input:-moz-read-only { /* стили */ }
Как понять
Скопировано:read
применяется к элементам, которые пользователь не может редактировать, но может взаимодействовать с ними (получить фокус, выделить текст, скопировать содержимое).
Основные случаи использования:
- Поля с атрибутом
readonly
- пользователь видит данные, но не может их изменить - Элементы с
contenteditable
- контент нельзя редактировать= "false" - Системные поля - например, поля с автоматически вычисляемыми значениями
Отличие от :disabled
:
:read
- поле получает фокус, можно выделить и скопировать текст- only :disabled
- поле не получает фокус, текст нельзя выделить
Подсказки
Скопировано💡 Используйте :read
чтобы сделать поля только для чтения заметно отличными от обычных полей.
💡 Рекомендуется установить cursor
для полей только для чтения, чтобы показать, что их нельзя редактировать.
💡 Используйте приглушённые цвета фона и текста для полей только для чтения.
💡 :read
хорошо работает вместе с :focus
и :hover
для создания интерактивных стилей.