#html #css #input #submit
#HTML #css #ввод #Отправить
Вопрос:
Любая причина, почему, когда я запускаю этот код,
input[type=submit]:active {
background-color: green;
}
когда я нажимаю нужную кнопку, она мигает зеленым только на долю секунды, а затем возвращается к исходному цвету? Как я могу сохранить его постоянно зеленым?
Комментарии:
1. С помощью Javascript. Применить класс при нажатии на него.
:active
делает именно то, что должен. Применяется только при удержании нажатой кнопки мыши.2. developer.mozilla.org/de/docs/Web/CSS/:focus это то, чего ты хочешь
3. Потому
active
что состояние длится всего долю секунды. Используйте JS и измените css по щелчку4. developer.mozilla.org/en/docs/Web/CSS/:focus — Английская версия
5. О, и
:focus
будет применяться только до тех пор, пока вы не нажмете на что-то еще.
Ответ №1:
input[type=submit]:focus {
background-color: green;
}
попробуйте это
Комментарии:
1. рад помочь 🙂
2. но обратите внимание, что при отключении фокуса пользователя (например, щелчок снаружи) селектор фокуса исчезнет, а цвет по умолчанию вернется. Если вы хотите эту переменную, вы должны создать класс для background-color и добавить его onclick с помощью js. Вы можете добавить attr для ввода
onclick="this.style.backgroundColor = '#000'"
, если вы не знакомы с js3. можете ли вы объяснить это немного подробнее, поскольку это мой следующий вопрос.. Я использую reactjs для этого
4.
<input type="submit" onclick="this.style.backgroundColor = '#000'">
с react все должно быть в порядке, потому что это чистое решение js5. нет лучшего способа? У меня уже есть метод, вызываемый функцией onClick
Ответ №2:
Вам также необходимо использовать :focus
селектор.
Затем это добавляет цвет фона к вводу, поскольку он является сфокусированным элементом.
input[type=submit]:active, input[type=submit]:focus {
background-color: green;
}
<input type="submit" />
Комментарии:
1. Следует отметить, что
:focus
это не является постоянным . Это длится только до тех пор, пока не будет нажат что-то еще.2. @Paulie_D Я надеюсь, что объяснение того, что он добавляет его к сфокусированному элементу, будет понятным