Кратко
СкопированоПсевдокласс :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 для создания интерактивных стилей.