2016-08-15 55 views
0

Hellow。所有屏幕中的全寬導航菜單

我使用HTML5和CSS創建響應式菜單。爲此,我創建了桌面計算機的導航菜單,然後使用帶lavel的複選框來顯示響應菜單(我的意思是顯示菜單)。

這是代碼:

代碼注:(該圖像是350像素寬×100像素heigth):

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

Woops!我搞砸了。將ul包圍在HTML中的div中。將div的z-index設置爲高於0的位置,將位置固定,並將寬度設置爲100%。

+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>

+0

**謝謝**,這種方法爲我工作。 –

+0

你能檢查我的答案嗎? –