如何根据是否仅使用 CSS 检查复选框来更改元素不透明度?

How to change elements opacity based on if checkbox is or is not checked with CSS only?

我知道我可以将 .is(':checked') 与 jQuery 一起使用,但是有 CSS 的方法吗?我有点想让这段 #navbar-checkbox:checked #mobile-nav { display: block; } 代码起作用,因为我知道我可以用 :hover 做类似的事情,但是有没有办法用 :checked 做呢?

所以完整的标记:

CSS

#mobile-nav { display: none; }
#navbar-checkbox:checked #mobile-nav { display: block; }

这就是我想要的。

看到您的标记会很有帮助,但这是可能的。

例如,这假定一个复选框 adjacent(由 + 组合器指定)到您要定位的元素:

.test {
  background-color: red;
  color: white;
}

input[type="checkbox"]:checked + .test { opacity: 0.5; }
<input type="checkbox">
<div class="test">Test</div>

#myDIv {
  display: none;
}
.myDiv input:checked + #myDIv {
  display: block;
}
<div class="myDiv">
  <input id="navbarcheckbox" type="checkbox" name="option" value="Test">
  <div id="myDIv">
    <span>Hello</span>
    <span>World!</span>
  </div>
</div>