Я написал такой код для управления непрозрачностью во время проверки.Это сработало.
#check1:checked+.box {
animation: blink 1s;
}
@keyframes blink {
0%,
99% {
opacity: 0;
}
100% {
opacity: 1;
}
}
<input type="checkbox" id="check1">
<div class="box">
<div class="content">
<p>content</p>
<button type="button">
<label for="check1">click me</label>
</button>
</div>
</div>
Я также хотел сделать ту же операцию при снятии отметки, поэтому я добавил свойство animation.
Однако это не будет работать ианимация при проверке не будет работать.Почему это происходит?
#check1 + .box {
animation: blink 1s;
}
#check1:checked + .box {
animation: blink 1s;
}
@keyframes blink {
0%, 99% {
opacity: 0;
}
100% {
opacity: 1;
}
}
<input type="checkbox" id="check1">
<div class="box">
<div class="content">
<p>content</p>
<button type="button">
<label for="check1">click me</label>
</button>
</div>
</div>
Кроме того, я определил анимацию с точно такой же обработкой, что и другое имя, и она работала нормально.Почему это происходит?Есть ли умное решение CSS?
#check1+.box {
animation: blink1 1s;
}
#check1:checked+.box {
animation: blink2 1s;
}
@keyframes blink1 {
0%,
99% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes blink2 {
0%,
99% {
opacity: 0;
}
100% {
opacity: 1;
}
}
<input type="checkbox" id="check1">
<div class="box">
<div class="content">
<p>content</p>
<button type="button">
<label for="check1">click me</label>
</button>
</div>
</div>