所有屏幕中的全宽导航菜单

时间:2016-08-15 23:10:41

标签: html css html5

Hellow。

我正在使用HTML5和CSS创建一个响应式菜单。为此,我为桌面计算机创建导航菜单,然后使用带有lavel的复选框来显示响应式菜单(我的意思是,显示菜单)。

这是代码:

代码注意:(图片宽度为350px x 100px):

body {
  margin: 0px;
}
/*Strip the ul of padding and list styling*/

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  position: absolute;
}
/*Hacer que la imagen no se mueva */

#img-nav {
  padding-top: 0px !important;
}
/*Create a horizontal list*/

li {
  display: inline-block;
  float: left;
}
/*Style for menu links*/

li a {
  display: block;
  min-width: 200px;
  height: 70px;
  text-align: center;
  line-height: 50px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #fff;
  background: #2f3036;
  text-decoration: none;
  padding-top: 30px;
}
/*Hover state for top level links*/

li:hover a {
  background: #19c589;
}
/*Style for dropdown links*/

li:hover ul a {
  background: #f3f3f3;
  color: #2f3036;
  height: 40px;
  line-height: 40px;
}
/*Hover state for dropdown links*/

li:hover ul a:hover {
  background: #19c589;
  color: #fff;
}
/*Hide dropdown links until they are needed*/

li ul {
  display: none;
}
/*Make dropdown links vertical*/

li ul li {
  display: block;
  float: none;
}
/*Prevent text wrapping*/

li ul li a {
  width: auto;
  min-width: 100px;
  padding: 0 20px;
}
/*Display the dropdown on hover*/

ul li a:hover + .hidden,
.hidden:hover {
  display: block;
}
/*Style 'show menu' label button and hide it by default*/

.show-menu {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-decoration: none;
  color: #fff;
  background: #19c589;
  text-align: center;
  padding: 10px 0;
  display: none;
}
/*Hide checkbox*/

input[type=checkbox] {
  display: none;
}
/*Show menu when invisible checkbox is checked*/

input[type=checkbox]:checked ~ #menu {
  display: block;
}
/*Responsive Styles*/

@media screen and (max-width: 760px) {
  /*Make dropdown links appear inline*/
  ul {
    position: static;
    display: none;
  }
  /*Create vertical spacing*/
  li {
    margin-bottom: 1px;
  }
  /*Make all menu links full width*/
  ul li,
  li a {
    width: 100%;
  }
  /*Display 'show menu' link*/
  .show-menu {
    display: block;
  }
  #img-nav {
    display: none;
  }
}
<!doctype html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>CSS Only Navigation Menu</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="css/home.css">
</head>

<body>
  <nav>
    <label for="show-menu" class="show-menu">Show Menu</label>
    <input type="checkbox" id="show-menu" role="button">
    <ul id="menu">
      <li>
        <a href="#" id="img-nav">
          <img src="images/nav/logoplacehold.png" alt="">
        </a>
      </li>
      <li><a href="#">Inicio</a>
      </li>
      <li>
        <a href="#">Aula Virtual</a>
        <ul class="hidden">
          <li><a href="#">Test Online</a>
          </li>
          <li><a href="#">Test DGT</a>
          </li>
        </ul>
      </li>
      <li><a href="#">Resultado Teórico</a>
      </li>
      <li><a href="#">Nuestros Vehículos</a>
      </li>
      <li><a href="#">Permisos</a>
      </li>
    </ul>
  </nav>
</body>

</html>

问题:

我想要一个全宽度菜单(在PC中),但我不知道该怎么做。

谢谢大家!

1 个答案:

答案 0 :(得分:0)

从标签中删除背景并将其放在ul标签上,然后在其上添加css宽度:100%。这个对我很好。

body {
  margin: 0px;
}
/*Strip the ul of padding and list styling*/

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  position: absolute;
  width:100%;
  background: #2f3036;
}
/*Hacer que la imagen no se mueva */

#img-nav {
  padding-top: 0px !important;
}
/*Create a horizontal list*/

li {
  display: inline-block;
  float: left;
}
/*Style for menu links*/

li a {
  display: block;
  min-width: 200px;
  height: 70px;
  text-align: center;
  line-height: 50px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #fff;
  
  text-decoration: none;
  padding-top: 30px;
}
/*Hover state for top level links*/

li:hover a {
  background: #19c589;
}
/*Style for dropdown links*/

li:hover ul a {
  background: #f3f3f3;
  color: #2f3036;
  height: 40px;
  line-height: 40px;
}
/*Hover state for dropdown links*/

li:hover ul a:hover {
  background: #19c589;
  color: #fff;
}
/*Hide dropdown links until they are needed*/

li ul {
  display: none;
}
/*Make dropdown links vertical*/

li ul li {
  display: block;
  float: none;
}
/*Prevent text wrapping*/

li ul li a {
  width: auto;
  min-width: 100px;
  padding: 0 20px;
}
/*Display the dropdown on hover*/

ul li a:hover + .hidden,
.hidden:hover {
  display: block;
}
/*Style 'show menu' label button and hide it by default*/

.show-menu {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-decoration: none;
  color: #fff;
  background: #19c589;
  text-align: center;
  padding: 10px 0;
  display: none;
}
/*Hide checkbox*/

input[type=checkbox] {
  display: none;
}
/*Show menu when invisible checkbox is checked*/

input[type=checkbox]:checked ~ #menu {
  display: block;
}
/*Responsive Styles*/

@media screen and (max-width: 760px) {
  /*Make dropdown links appear inline*/
  ul {
    position: static;
    display: none;
 background: #2f3036;
  }
  /*Create vertical spacing*/
  li {
    margin-bottom: 1px;
  }
  /*Make all menu links full width*/
  ul li,
  li a {
    width: 100%;
    background: #2f3036;
  }
  /*Display 'show menu' link*/
  .show-menu {
    display: block;
  }
  #img-nav {
    display: none;
  }
}
<!doctype html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>CSS Only Navigation Menu</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="css/home.css">
</head>

<body>
  <nav>
    <label for="show-menu" class="show-menu">Show Menu</label>
    <input type="checkbox" id="show-menu" role="button">
    <ul id="menu">
      <li>
        <a href="#" id="img-nav">
          <img src="images/nav/logoplacehold.png" alt="">
        </a>
      </li>
      <li><a href="#">Inicio</a>
      </li>
      <li>
        <a href="#">Aula Virtual</a>
        <ul class="hidden">
          <li><a href="#">Test Online</a>
          </li>
          <li><a href="#">Test DGT</a>
          </li>
        </ul>
      </li>
      <li><a href="#">Resultado Teórico</a>
      </li>
      <li><a href="#">Nuestros Vehículos</a>
      </li>
      <li><a href="#">Permisos</a>
      </li>
    </ul>
  </nav>
</body>

</html>