Эта кнопка серая. Она не доступна для клика. Как написать селектор на основе состояния элемента?
Время чтения: меньше 5 мин
Открыть/закрыть навигацию по статье
Контрибьюторы:
Обновлено 1 августа 2022
Кратко
Скопировать ссылку «Кратко» Скопировано
Псевдоклассы :disabled и :enabled помогают стилизовать интерактивные элементы — на которые можно и нельзя нажать.
Легко применяются к любым элементам, которым можно задать атрибут disabled : , , , , , , , и .
Пример
Скопировать ссылку «Пример» Скопировано
Часто требуется, чтобы на кнопку отправки формы нельзя было нажать, пока не заполнены все поля этой формы. Проще всего заблокировать кнопку атрибутом disabled . Но недостаточно просто указать его в HTML, нужно ещё и при помощи оформления показать пользователю, что кнопка не активна. Как раз для этого нам пригодится псевдокласс :disabled .
Псевдокласс :enabled , наоборот, поможет стилизовать все доступные для взаимодействия элементы. По факту его чаще всего не указывают, потому что записи с ним и без него, как правило, равноценны: .input = .input : enabled .
Как пишется
Скопировать ссылку «Как пишется» Скопировано
Любому селектору, указывающему на интерактивный элемент, дописываем двоеточие и указываем одно из ключевых слов: enabled или disabled .
Как понять
Скопировать ссылку «Как понять» Скопировано
Браузер ориентируется на атрибут disabled и, в зависимости от его наличия или отсутствия, добавляет элементу состояние enabled — доступен, или disabled — недоступен.
Подсказки
Скопировать ссылку «Подсказки» Скопировано
Даже если дизайнер забыл про неактивное состояние, обязательно прописывайте его в стилях, чуть приглушая фоновый цвет или делая элемент полупрозрачным — чтобы пользователь точно знал, что с этим элементом взаимодействовать нельзя.
enabled чаще всего не используется, потому что все интерактивные элементы по умолчанию доступны (включены). Это значит, что прописав стили для селектора .input , вы закрываете сценарий с активным элементом.
«Выключать» взаимодействие с кнопками или другими элементами формы удобнее именно атрибутом disabled , потому что он сразу же отключает возможность нажать на этот элемент без дополнительных стилей. И, ориентируясь на него, гораздо удобнее прописывать стили для неактивных элементов, используя псевдокласс disabled .
как сделать кнопку button неактивной если есть пустые поля input
Есть HTML страница входа, login и password — поля для ввода, и есть кнопка «войти». Как мне сделать, чтобы если поле login или password пустое, кнопка была неактивной? Сам код:
• LoginLogin
Подтверждения личности аккаунта
Отслеживать
3,388 2 2 золотых знака 10 10 серебряных знаков 28 28 бронзовых знаков
задан 25 ноя 2022 в 20:22
Очень сильно подозреваю что нужно написать теперь еще javascript код в добавок к html ^-^
25 ноя 2022 в 20:26
@ВладимирКлыков можно, но не обязательно 🙂
25 ноя 2022 в 21:25
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Можно обойтись чистым CSS’ом 🙂
Я добавил к инпутам атрибут required , а в CSS идёт проверка, если требуемый инпут невалидный (то есть там нет никакой информации), то тогда любой последующей кнопке с классом .login добавлять какие-то стили.
input:required:invalid ~ button.login
test logins
Подтверждения личности аккаунта
Атрибут disabled
Блокирует доступ и изменение кнопки. Она в таком случае отображается серой и недоступной для активации пользователем. Кроме того, такая кнопка не может получить фокус путем нажатия на клавишу Tab , мышью или другим способом. Тем не менее, такое состояние кнопки можно изменять через скрипты. Значение блокированной кнопки не передается на сервер.
Синтаксис
Значения
Значение по умолчанию
По умолчанию это значение выключено.
HTML5 IE Cr Op Sa Fx
Тег BUTTON, атрибут disabled
Результат данного примера продемонстрирован на рис. 1.
Рис. 1. Вид активной и неактивной кнопки
Не выкладывайте свой код напрямую в комментариях, он отображается некорректно. Воспользуйтесь сервисом cssdeck.com или jsfiddle.net, сохраните код и в комментариях дайте на него ссылку. Так и результат сразу увидят.
Типы тегов
HTML5
Блочные элементы
Строчные элементы
Универсальные элементы
Нестандартные теги
Осуждаемые теги
Видео
Документ
Звук
Изображения
Объекты
Скрипты
Списки
Ссылки
Таблицы
Текст
Форматирование
Формы
Фреймы
Атрибут disabled
Блокирует доступ к кнопке и её изменение. Она в таком случае отображается серым цветом и недоступна для активации пользователем. Кроме того, такая кнопка не может получить фокус путём нажатия на клавишу Tab , мышью или другим способом. Тем не менее, такое состояние кнопки можно изменять через скрипты. Значение блокированной кнопки не передаётся на сервер.
Синтаксис
Значения
Значение по умолчанию
По умолчанию это значение выключено.
Пример
Результат данного примера продемонстрирован на рис. 1.
Рис. 1. Вид активной и неактивной кнопок
Браузеры
11
12
1
15
4
1
4.4
4
14
3.2
В таблице браузеров применяются следующие обозначения.
— элемент полностью поддерживается браузером;
— элемент браузером не воспринимается и игнорируется;
— при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.
Число указывает версию браузреа, начиная с которой элемент поддерживается.
Атрибут disabled
Блокирует доступ к кнопке и её изменение. Она в таком случае отображается серым цветом и недоступна для активации пользователем. Кроме того, такая кнопка не может получить фокус путём нажатия на клавишу Tab , мышью или другим способом. Тем не менее, такое состояние кнопки можно изменять через скрипты. Значение блокированной кнопки не передаётся на сервер.
Синтаксис
Значения
Значение по умолчанию
По умолчанию это значение выключено.
Пример
Результат данного примера продемонстрирован на рис. 1.
Рис. 1. Вид активной и неактивной кнопок
Браузеры
11
12
1
15
4
1
4.4
4
14
3.2
В таблице браузеров применяются следующие обозначения.
— элемент полностью поддерживается браузером;
— элемент браузером не воспринимается и игнорируется;
— при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.
Число указывает версию браузреа, начиная с которой элемент поддерживается.
как сделать кнопку button неактивной если есть пустые поля input
Есть HTML страница входа, login и password — поля для ввода, и есть кнопка «войти». Как мне сделать, чтобы если поле login или password пустое, кнопка была неактивной? Сам код:
• LoginLogin
Подтверждения личности аккаунта
Отслеживать
3,388 2 2 золотых знака 10 10 серебряных знаков 28 28 бронзовых знаков
задан 25 ноя 2022 в 20:22
Очень сильно подозреваю что нужно написать теперь еще javascript код в добавок к html ^-^
25 ноя 2022 в 20:26
@ВладимирКлыков можно, но не обязательно 🙂
25 ноя 2022 в 21:25
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Можно обойтись чистым CSS’ом 🙂
Я добавил к инпутам атрибут required , а в CSS идёт проверка, если требуемый инпут невалидный (то есть там нет никакой информации), то тогда любой последующей кнопке с классом .login добавлять какие-то стили.
input:required:invalid ~ button.login
test logins
Подтверждения личности аккаунта
как сделать кнопку неактивной js
Чтобы сделать кнопку неактивной, нужно добавить ей атрибут disabled :
// создаем кнопку constbtn=document.createElement('button');// добавляем ей атрибут disabledbtn.setAttribute('disabled','');// добавляем надписьbtn.textContent='Неактивная кнопка'// добавляем кнопку на страницуdocument.body.append(btn);
Кнопка будет отображаться серой и недоступной для нажатия. Кроме того, она не может получить фокус путем нажатия на клавишу Tab или другим способом.
:disabled , :enabled
Эта кнопка серая. Она не доступна для клика. Как написать селектор на основе состояния элемента?
Время чтения: меньше 5 мин
Открыть/закрыть навигацию по статье
Контрибьюторы:
Обновлено 1 августа 2022
Кратко
Скопировать ссылку «Кратко» Скопировано
Псевдоклассы :disabled и :enabled помогают стилизовать интерактивные элементы — на которые можно и нельзя нажать.
Легко применяются к любым элементам, которым можно задать атрибут disabled : , , , , , , , и .
Пример
Скопировать ссылку «Пример» Скопировано
Часто требуется, чтобы на кнопку отправки формы нельзя было нажать, пока не заполнены все поля этой формы. Проще всего заблокировать кнопку атрибутом disabled . Но недостаточно просто указать его в HTML, нужно ещё и при помощи оформления показать пользователю, что кнопка не активна. Как раз для этого нам пригодится псевдокласс :disabled .
Псевдокласс :enabled , наоборот, поможет стилизовать все доступные для взаимодействия элементы. По факту его чаще всего не указывают, потому что записи с ним и без него, как правило, равноценны: .input = .input : enabled .
Как пишется
Скопировать ссылку «Как пишется» Скопировано
Любому селектору, указывающему на интерактивный элемент, дописываем двоеточие и указываем одно из ключевых слов: enabled или disabled .
Как понять
Скопировать ссылку «Как понять» Скопировано
Браузер ориентируется на атрибут disabled и, в зависимости от его наличия или отсутствия, добавляет элементу состояние enabled — доступен, или disabled — недоступен.
Подсказки
Скопировать ссылку «Подсказки» Скопировано
Даже если дизайнер забыл про неактивное состояние, обязательно прописывайте его в стилях, чуть приглушая фоновый цвет или делая элемент полупрозрачным — чтобы пользователь точно знал, что с этим элементом взаимодействовать нельзя.
enabled чаще всего не используется, потому что все интерактивные элементы по умолчанию доступны (включены). Это значит, что прописав стили для селектора .input , вы закрываете сценарий с активным элементом.
«Выключать» взаимодействие с кнопками или другими элементами формы удобнее именно атрибутом disabled , потому что он сразу же отключает возможность нажать на этот элемент без дополнительных стилей. И, ориентируясь на него, гораздо удобнее прописывать стили для неактивных элементов, используя псевдокласс disabled .