.test {
height:50px;
width:50px;
background:#000;
}
<div class="test"></div>
Как сделать так, чтобы при клике на блок "test", он становился красным, при еще одном клике - обратно на черный.
Можно сделать на html+css
.test {
height: 50px;
width: 50px;
background-color: black;
}
input {
display: none;
}
input:checked + label > div {
background-color: red;
}
<input type="checkbox" id="colorbox">
<label for="colorbox">
<div class="test"></div>
</label>
Можно воспользоваться родственным селектором ~
и связью <label>
с <input>
.
Плюсы: javascript не нужен.
Минусы: нужна дополнительная разметка.
.hidden {
display: none;
}
.test {
display: block;
height: 50px;
width: 50px;
background: #000;
}
#switcher:checked ~ .test {
background: #f00;
}
<input type="checkbox" class="hidden" id="switcher">
<label class="test" for="switcher"></label>
Используя javascript и jQuery:
$('.test').on('click', function(){
$(this).toggleClass('red');
});
и в css добавить
.test.red{
color: red;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Верстаю макет, использую bootstrapСтолкнулся с такой проблемой: margin по факту есть и влияет на расположение элементов, но во вкладке computed он не отображается,...
Привет! Кто-нибудь подскажет как мне три столбика преобразовать в два при изменении разрешения экранаИспользуется Bootstrap