@AlTerminator

Как в CSS прописать условие, при котором кнопка отобразится?

Нужно, чтобы при всех одновременно валидных input-ах отобразилась кнопка.

HTML:

<!DOCTYPE html>
<html lang="ru">
<head>
 <meta charset="UTF-8"> 
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <link rel="icon" type="image/x-icon" href="favicon.ico">
 <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
 <input required name="InputFIO">
 <input required name="InputPhone">
 <input required name="InputEmail">
 <button>gg</button>
</body>
</html>


CSS:

button
{
 display: none;
}

form:has(input:valid) button /* Какое условие здесь прописать?*/
{
 display: block;
}
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега CSS
frontend developer
От обратного

form:has(:invalid) button {
  display: none;
}


-----------------------
Но вообще с точки зрения юзабилити, я считаю плохой практикой прятать или дизаблить кнопку.
Лишня когнитивная нагрузка на пользователя: "где кнопка? как отправить форму? почему она не нажимается? я же вроже все заполнил..."

Лучше оставить возможность нажатия кнопки отправки и прямо уведомлять юзера о его ошибках по нажатию.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 06:06
1500 руб./в час
22 нояб. 2024, в 06:04
1 руб./за проект
22 нояб. 2024, в 03:54
1500 руб./за проект