Псевдокласс CSS `:read-write`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с июля 2020 года.
:read-write CSS псевдокласс обозначает элемент (например, input или textarea), который пользователь может редактировать.
Попробуйте
label,
input[type="submit"] {
display: block;
margin-top: 1em;
}
*:read-write {
background-color: ivory;
border: 2px solid darkorange;
border-radius: 5px;
}
<p>Please fill in your details:</p> <form> <label for="email">Email Address:</label> <input id="email" name="email" type="email" value="test@example.com" /> <label for="note">Short note about yourself:</label> <textarea id="note" name="note">Don't be shy</textarea> <label for="pic">Your picture:</label> <input id="pic" name="pic" type="file" /> <input type="submit" value="Submit form" /> </form>
Синтаксис
:read-write {
/* ... */
}
Примеры
Подтверждение данных формы с помощью элементов управления только для чтения
Вы можете использовать элементы управления формы readonly, если хотите, чтобы пользователь проверил ранее введённые данные, которые нужно отправить вместе с новыми данными в элементах управления для чтения и записи. В приведённом ниже примере псевдокласс :read-only используется, чтобы элемент <textarea> (адрес пользователя) выглядел как обычный абзац. Псевдокласс :read-write позволяет выделить редактируемый элемент <textarea> (инструкции по доставке):
body {
font-family: "Josefin Sans", sans-serif;
margin: 10px auto;
}
legend {
color: white;
background: black;
padding: 5px 10px;
}
fieldset > div {
margin-bottom: 10px;
display: flex;
justify-content: space-between;
}
button,
label,
textarea {
display: block;
font-family: inherit;
font-size: 100%;
margin: 0;
box-sizing: border-box;
padding: 5px;
height: 30px;
}
textarea {
width: 50%;
}
textarea {
height: 70px;
resize: none;
}
label {
width: 40%;
}
textarea:read-only {
border: 0;
}
textarea:read-write {
box-shadow: inset 1px 1px 3px #cccccc;
border-radius: 5px;
}
<form>
<fieldset>
<legend>Confirm details</legend>
<div>
<label for="address">Address:</label>
<textarea id="address" name="address" readonly>
123 Choco Mountain,
Awesome Ridge,
CA</textarea>
</div>
<div>
<label for="instructions">Delivery instructions</label>
<textarea id="instructions" name="instructions"></textarea>
</div>
</fieldset>
<button type="submit">Confirm</button>
</form>
Стилизация элементов вне формы для чтения и записи
Этот селектор выбирает не только элементы <input>/<textarea> — он выберет любой элемент, который пользователь может редактировать, например элемент <p>, для которого задан атрибут contenteditable.
<p contenteditable>This paragraph is editable; it is read-write.</p> <p>This paragraph is not editable; it is read-only.</p>
body {
font-family: sans-serif;
}
p {
font-size: 150%;
padding: 5px;
border-radius: 5px;
}
p:read-only {
background-color: red;
color: white;
}
p:read-write {
background-color: lime;
}
Спецификации
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | WebView для Android | WebView на iOS | |
read-write |
1 |
13 |
78
1.5
|
9 |
4 |
18 |
79
4
|
10.1 |
3.2 |
1.0 |
4.4 |
3.2 |
См. также
:read-only- Атрибут HTML
contenteditable
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/:read-write