html - 如何制作带有复选框的类显示 block

标签 html css web css-selectors checked

我可以让它工作。它适用于 toggle:checked {display: none} 但不适用于额外的类(class)。

 <nav>
        <div class="nav">
          <label class="hamburger__menu" for="toggle">&#9776</label>
          <input class="toggle" type="checkbox" id="toggle">
        </div>

        <div class="menu-box">
          <ul class="menu">
            <li class="menu__item"><a class="item__link" href="#">home</a></li>
            <li class="menu__item menu__item--yellow"><a class="item__link" href="#">humo@festivals</a></li>
            <li class="menu__item"><a class="item__link" href="#">humor</a></li>
            <li class="menu__item menu__item--red"><a class="item__link" href="#">video</a></li>
            <li class="menu__item"><a class="item__link" href="#">fotospecials</a></li>
            <li class="menu__item"><a class="item__link" href="#">nu in humo</a></li>
            <li class="menu__item"><a class="item__link" href="#">tv/film</a></li>
            <li class="menu__item"><a class="item__link" href="#">actua</a></li>
            <li class="menu__item"><a class="item__link" href="#">muziek</a></li>
            <li class="menu__item"><a class="item__link" href="#">boeken</a></li>
            <li class="menu__item"><a class="item__link" href="#">humo sapiens</a></li>
          </ul>
        </div>
      </nav>
.menu {
  display: none;
}

.toggle {
  display: none;

  &:checked + .menu {
    display: block;
  }
}

最佳答案

这是一个链接,指向某人如何仅使用 css 做到这一点 https://codepen.io/erikterwan/pen/EVzeRP

但是javascript要容易得多

function toggle(){
var menu = document.getElementsByClassName('menu')[0];
if(menu.style.display==='')menu.style.display='block';
else if(menu.style.display==='block')menu.style.display='';
}
.menu {
  display:none;
}
<nav>
        <div class="nav">
          <label class="hamburger__menu" onclick='toggle()'>&#9776</label>
          
        </div>

        <div class="menu-box">
          <ul class="menu">
            <li class="menu__item"><a class="item__link" href="#">home</a></li>
            <li class="menu__item menu__item--yellow"><a class="item__link" href="#">humo@festivals</a></li>
            <li class="menu__item"><a class="item__link" href="#">humor</a></li>
            <li class="menu__item menu__item--red"><a class="item__link" href="#">video</a></li>
            <li class="menu__item"><a class="item__link" href="#">fotospecials</a></li>
            <li class="menu__item"><a class="item__link" href="#">nu in humo</a></li>
            <li class="menu__item"><a class="item__link" href="#">tv/film</a></li>
            <li class="menu__item"><a class="item__link" href="#">actua</a></li>
            <li class="menu__item"><a class="item__link" href="#">muziek</a></li>
            <li class="menu__item"><a class="item__link" href="#">boeken</a></li>
            <li class="menu__item"><a class="item__link" href="#">humo sapiens</a></li>
          </ul>
        </div>
      </nav>

关于html - 如何制作带有复选框的类显示 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59706282/

相关文章:

html - 背景图像高度和覆盖内容溢出和重复

css - 试图在我的图像旁边得到一个 div

css - 如何强制 Bootstrap 3 使用桌面菜单?

javascript - jquery ajax请求如何获得成功?

node.js - xpath 上升到父级然后返回到子级

html - 我可以使用 Flexbox 创建背景和前景吗?

html - 如何在不导致此布局问题的情况下为报价设置此跨度的样式?

html - 滚动条没有到达底部

html - 使用 CSS 对齐列

Php表单提交-报错