html - 可以:checked selector affect a div with which has no relation?

标签 html css menu navigation slidetoggle

我的一些问题是尝试遵循一些关于屏幕外导航菜单的教程,但它们不太符合我的要求。 这是一个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>

关于html - 可以:checked selector affect a div with which has no relation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31148291/

相关文章:

html - Shopify tablerow 循环提前退出

drop-down-menu - 如何使用 Bootstrap 3 在导航栏菜单的下拉项中创建嵌套下拉菜单?

html - 带有子菜单的堆叠菜单,需要更改子菜单的宽度

html - 不同的列表项

javascript - 如何通过分区嵌套使字体变小?

javascript - 如何让多个单选按钮在表单上保持选中状态

javascript - 什么时候html元素多一些好还是少一些好?

html - 媒体查询导航栏?

javascript - 我怎样才能把我的javascript数组中的单词变成一个链接

javascript - 如何滚动 .list-group 将导航栏留在顶部