2016-10-12 6 views
1

Любая причина, почему, когда я запускаю этот код,Изменение цвета фона активного входного селектора

input[type=submit]:active { 
    background-color: green; 
} 

при нажатии нужной кнопки она только мигает зеленым на долю секунды, а затем возвращается к первоначальному цвету? Как я могу сохранить его постоянно зеленым?

+0

С Javascript. Примените класс при нажатии. ': active' делает именно то, что он должен. Это применимо только при нажатии кнопки мыши. –

+0

https://developer.mozilla.org/de/docs/Web/CSS/:фокус - это то, что вы хотите –

+0

Потому что состояние 'active' длится только в течение секунды. Используйте JS и измените css на клик –

ответ

2
input[type=submit]:focus { 
    background-color: green; 
} 

попробовать это

+0

спасибо, что за несколько минут –

+0

рад помочь :) –

+0

, но обратите внимание, что когда пользователь фокусируется (например, нажимает снаружи), селектор фокуса не будет, и цвет по умолчанию вернется. Если вы хотите, чтобы это перемещение, вы должны создать класс для фона и добавить его onclick с помощью js. Вы можете добавить attr для ввода 'onclick = 'this.style.backgroundColor =' # 000 '" ', если вы не знакомы с js –

0

Кроме того, необходимо использовать селектор :focus.

Это добавляет цвет фона к входу, поскольку он является сфокусированным элементом.

input[type=submit]:active, input[type=submit]:focus { 
 
    background-color: green; 
 
}
<input type="submit" />

+0

Следует отметить, что': фокус 'не ** постоянно **. Он длится до тех пор, пока не будет нажато другое. –

+0

@Paulie_D Я бы надеюсь, что объяснение, что он добавит его в элемент * сфокусированный *, будет понятным – Stewartside

Смежные вопросы