CSS изменить стиль кнопки после щелчка
мне было интересно, есть ли способ изменить стиль кнопки в css после ее нажатия, поэтому не element:active
.
Спасибо!
6 ответов
Если вы ищете чистую опцию css, попробуйте использовать псевдо-класс: focus.
#style {
background-color: red;
}
#style:focus {
background-color:yellow;
}
каждая ссылка имеет пять различных состояний: link
, hover
, active
, focused
и visited
.
Link
нормальный внешний вид, hover
когда вы наведете курсор мыши,active
состояние, когда он нажал,focused
следующие активные и visited
государство вы заканчиваете, когда вы расфокусируй выбранной ссылке.
я предполагаю, что вы хотите достичь другого стиля на любом focus
или visited
, затем вы можете добавить следующее CSS:
a { color: #00c; }
a:visited { #ccc; }
a:focused { #cc0; }
рекомендуемый порядок в вашем CSS, чтобы не вызвать никаких проблем, следующий:
a
a:visited { ... }
a:focused { ... }
a:hover { ... }
a:active { ... }
вы можете использовать инструменты разработчика вашего веб-браузера, чтобы заставить состояния элемента, как это (Chrome- > Developer Tools / Inspect Element - >Style - >Filter :hov): состояние силы в инструментах разработчика Chrome
каков код вашей кнопки? Если это тег a, то вы можете сделать следующее:
a {
padding: 5px;
background: green;
}
a:visited {
background: red;
}
<a href="#">A button</a>
или вы можете использовать jQuery для добавления класса по щелчку, как показано ниже:
$("#button").click(function() {
$("#button").addClass('button-clicked');
});
.button-clicked {
background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="button">Button</button>
Это можно сделать с CSS, только выбрав активный и фокус псевдо элемент кнопки.
button:active{
background:olive;
}
button:focus{
background:olive;
}
см. codepen:http://codepen.io/fennefoss/pen/Bpqdqx
вы также можете написать простую функцию щелчка jQuery, которая изменяет цвет фона.
HTML-код:
<button class="js-click">Click me!</button>
CSS:
button {
background: none;
}
JavaScript:
$( ".js-click" ).click(function() {
$( ".js-click" ).css('background', 'green');
});
проверьте этот codepen: http://codepen.io/fennefoss/pen/pRxrVG
Если ваша кнопка будет <a>
элемент, вы можете использовать :visited
селектор.
вы ограничены, однако, вы можете изменить только:
- цвета
- цвет фона
- border-color (и его под-свойства)
- контур-цвет
- цветовые части свойств заливки и Штриха
Я не читал эта статья о пересмотре :visited
но, может быть, некоторые умные люди нашли больше способов взломать его.
попробуйте проверить контур на фокус кнопки:
button:focus {
outline: blue auto 5px;
}
Если у вас есть, просто установите его в none
.