:checked 选择器可以影响一个没有关系的 div 吗?
Can :checked selector affect a div with which has no relation?
我的一些问题是尝试遵循一些关于屏幕外导航菜单的教程,但它们不太符合我的要求。
这是一个 example
我想在这里完成的事情有点困难,我找不到答案。我想要的是按下标签并切换侧边栏。大多数教程显示但只有当这两者直接相关时。
<div class="header">
<ul>
<li>Menu1</li>
<li>Menu2</li>
<li>Menu3</li>
<li>
<input type="checkbox" class="sidebar__toggle" id="sidebar__toggle">
<label for="sidebar__toggle">More info</label>
</li>
</ul>
</div>
<div class="content">
...rest of code here...
</div>
<div class="sidebar">
...sidebar code here...
</div>
和css(为简单起见,我将省略其余部分):
.sidebar__toggle:checked ~ .sidebar {
background-color: pink;
}
当我按照网络上的各种教程进行操作时,如果它们以某种方式与我们相关,这就是方法,但我的(或我需要的)实际上不是。
只要标签使用 for
属性指向其 id
,您就可以将复选框放在任何您想要的位置。我把它放在下面的.sidebar
前面:
.sidebar__toggle:checked ~ .sidebar {
background-color: pink;
}
<div class="header">
<ul>
<li>Menu1</li>
<li>Menu2</li>
<li>Menu3</li>
<li>
<label for="sidebar__toggle">More info</label>
</li>
</ul>
</div>
<div class="content">
...rest of code here...
</div>
<input type="checkbox" class="sidebar__toggle" id="sidebar__toggle">
<div class="sidebar">
...sidebar code here...
</div>
我的一些问题是尝试遵循一些关于屏幕外导航菜单的教程,但它们不太符合我的要求。 这是一个 example
我想在这里完成的事情有点困难,我找不到答案。我想要的是按下标签并切换侧边栏。大多数教程显示但只有当这两者直接相关时。
<div class="header">
<ul>
<li>Menu1</li>
<li>Menu2</li>
<li>Menu3</li>
<li>
<input type="checkbox" class="sidebar__toggle" id="sidebar__toggle">
<label for="sidebar__toggle">More info</label>
</li>
</ul>
</div>
<div class="content">
...rest of code here...
</div>
<div class="sidebar">
...sidebar code here...
</div>
和css(为简单起见,我将省略其余部分):
.sidebar__toggle:checked ~ .sidebar {
background-color: pink;
}
当我按照网络上的各种教程进行操作时,如果它们以某种方式与我们相关,这就是方法,但我的(或我需要的)实际上不是。
只要标签使用 for
属性指向其 id
,您就可以将复选框放在任何您想要的位置。我把它放在下面的.sidebar
前面:
.sidebar__toggle:checked ~ .sidebar {
background-color: pink;
}
<div class="header">
<ul>
<li>Menu1</li>
<li>Menu2</li>
<li>Menu3</li>
<li>
<label for="sidebar__toggle">More info</label>
</li>
</ul>
</div>
<div class="content">
...rest of code here...
</div>
<input type="checkbox" class="sidebar__toggle" id="sidebar__toggle">
<div class="sidebar">
...sidebar code here...
</div>