Chechbox被嚼了,但内容不能滑动

时间:2016-07-04 12:15:30

标签: html5 css3 checkbox

这是我的第一个问题!现在是几天我遇到问题enter code here,复选框创建了一个向上/向下滑动的移动第一个菜单。 该复选框工作正常但我无法做的是在选中复选框时让菜单向上滑动并完成。 任何暗示或帮助正确的方向都会受到高度赞赏!

<!-- === MENUTOGGLE === -->
<input type="checkbox" name="checkbox" id="menuToggle" value="value">
<label for="menuToggle" class="menu-icon">&#9776;</label>
<!--  ==== HEADER ==== -->    
<header>
  <div id="logo" class="brand">
    <h1><img src="images/logo.png" alt="Hello"></h1>
  </div>`enter code here`
  <nav class="menu">
    <ul>
      <li><a href="#">Work</a></li>
      <li><a href="#">About</a></li>
      <li><a href="#">Blog </a></li>
      <li><a href="#">Contact</a></li>
    </ul>
  </nav>
</header>
* {
  margin: 0;
  padding: 0;
  outline: none;
  box-sizing: border-box;
}

body {
  background: #eee;
  color: #444;
  -webkit-font-smoothing: antialiased;
  font-family: Arial, sans-serif; 
  font-weight: 400;
  height: auto !important;
  height: 100%;
  min-height: 100%;
  text-rendering: optimizeLegibility;
}

.menu {
  width: 100%;
  position: absolute;
  top: 66px;
}

.menu-icon {
  float: right;
  color: blueviolet;
  cursor: pointer;
  padding-top: 25px;
  padding-right: 30px;
}

#menuToggle {
  display: none;
}

#menuToggle:checked + .menu {
  position: absolute;
  top: -66px;
}

#logo {
  float: none;
  text-align: left;
  padding-top: 7px;
  padding-left: 2em;
}

header {
  display: block;
  background-color: #FFF;
}

nav {
  text-align: center;
}

nav ul {
  background-color: rgba(255, 255, 255, 0.15);
  float: none;
  line-height: 3.5em;
  margin: 0;
}

nav ul li {
  display: block;
  list-style-type: none;
}

nav ul li:hover {
  background-color: rgba(171, 193, 242, 0.1);
}

nav ul li a {
  text-decoration: none;
  color: red;
}

nav ul li a:hover {
  color: aqua;
}

/*------------ MEDIUM BIG SCREEN -----------------------*/

@media screen and (min-width:600px) {
  #logo {
    float: left;
  }

  .menu {
    width: 100%;
    height: 70px;
    position: inherit;
  }

  .menu-icon {
    display: none;
  }

  header {
    height: 70px;
    background-color: #FFF;
    margin: auto;
    width: 100%;
  }

  nav ul {
    background-color: #FFF;
    float: right;
    padding: 0.55em 3em 0.55em 1.5em;
    height: 70px;
  }

  nav ul li {
    display: inline-block;
  }

  nav ul li a {
    background-color: #FFF;
    padding-left: 3em;
  }

1 个答案:

答案 0 :(得分:0)

我修改了几行代码。如果这是你期望的,请查看下面或https://jsfiddle.net/pr7xf32q/

* {
  margin: 0;
  padding: 0;
  outline: none;
  box-sizing: border-box;
}

body {
  background: #eee;
  color: #444;
  -webkit-font-smoothing: antialiased;
  font-family: Arial, sans-serif; 
  font-weight: 400;
  height: auto !important;
  height: 100%;
  min-height: 100%;
  text-rendering: optimizeLegibility;
}

.menu {
  width: 100%;
  position: absolute;
  top: 66px;
}

.menu-icon {
  float: right;
  color: blueviolet;
  cursor: pointer;
  padding-top: 25px;
  padding-right: 30px;
}

.menu {
  display: none;
}

#menuToggle:checked ~ header .menu {
  display: block;
}


#logo {
  float: none;
  text-align: left;
  padding-top: 7px;
  padding-left: 2em;
}

header {
  display: block;
  background-color: #FFF;
}

nav {
  text-align: center;
}

nav ul {
  background-color: rgba(255, 255, 255, 0.15);
  float: none;
  line-height: 3.5em;
  margin: 0;
}

nav ul li {
  display: block;
  list-style-type: none;
}

nav ul li:hover {
  background-color: rgba(171, 193, 242, 0.1);
}

nav ul li a {
  text-decoration: none;
  color: red;
}

nav ul li a:hover {
  color: aqua;
}

/*------------ MEDIUM BIG SCREEN -----------------------*/

@media screen and (min-width:600px) {
  #logo {
    float: left;
  }

  .menu {
    width: 100%;
    height: 70px;
    position: inherit;
    display: block;
  }

  .menu-icon {
    display: none;
  }


  header {
    height: 70px;
    background-color: #FFF;
    margin: auto;
    width: 100%;
  }

  nav ul {
    background-color: #FFF;
    float: right;
    padding: 0.55em 3em 0.55em 1.5em;
    height: 70px;
  }

  nav ul li {
    display: inline-block;
  }

  nav ul li a {
    background-color: #FFF;
    padding-left: 3em;
  }
<input type="checkbox" name="checkbox" id="menuToggle" value="value">
<label for="menuToggle" class="menu-icon">&#9776;</label>
<!--  ==== HEADER ==== -->    
<header>
  <div id="logo" class="brand">
    <h1><img src="images/logo.png" alt="Hello"></h1>
  </div>
  
  <nav class="menu">
    <ul>
      <li><a href="#">Work</a></li>
      <li><a href="#">About</a></li>
      <li><a href="#">Blog </a></li>
      <li><a href="#">Contact</a></li>
    </ul>
  </nav>
</header>