На чистом CSS нет, но можно с применением HTML. Смысл трюка: изменение состояния
<input type="checkbox" />
и привязка CSS-свойств к этому состоянию. Пример:
<input type="checkbox" id="wrapTrigger" />
<div class="wrap">
<p>Любой контент</p>
<label for="wrapTrigger" class="button">Нажми меня</label>
<p>Любой контент</p>
</div>
<style>
#wrapTrigger {
display: none;
}
.wrap {
color: red;
}
input:checked + .wrap {
color: blue;
}
</style>
В этом примере важно, чтобы блок
.wrap
располагался сразу после
input
, иначе не сработает CSS-селектор
+
. HTML-элемент
label
переносит эффект клика на указанный чекбокс (связь происходит через значения полей
for
и
id
).