首页 > 解决方案 > 如何使用复选框制作类显示块

问题描述

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

 <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;
  }
}

标签: htmlcsswebcss-selectorschecked

解决方案


这是一个链接,指向某人如何仅使用 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>


推荐阅读