2016-01-20 39 views
5

下面是我的一些代碼的JSFiddle鏈接。我試圖在不使用引導程序或其他插件類型的情況下實現一個漂亮的純html/css下拉菜單。然而,我似乎無法獲得導航欄下方顯示的「創意」下拉元素,它們反而顯示爲內嵌式,而我試圖更改代碼的其他部分以使其正常工作,但我似乎無法看到在不損害導航欄其他部分的情況下做到這一點。CSS HTML下拉導航元素以內聯方式出現,而不是下方

如果有人可以給它一個看看,所以當你懸停'創意'它是兒童列表元素出現在它下面。最好不帶造型襯墊和邊距。

https://jsfiddle.net/nytnfvmq/

HTML:

<!DOCTYPE html> 
<html lang="en"> 

    <head> 

    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <title>Udemy Project</title> 

    <link type="text/css" href="styles.css" rel="stylesheet"> 

    <script type="text/javascript" src="javascript.js"></script> 
    <script type="text/javascript" src="jquery.min.js"></script> 
    <!--<script type="text/javascript" src="jquery-ui.min.js"></script> 
    <script type="text/javascript" src="js/bootstrap.min.js"></script>--> 


    </head> 

    <body> 

    <nav> 
     <ul> 

     <li> 
      <a href="">Home</a> 
     </li> 

     <li> 
      <a href="">Development</a> 
     </li> 

     <li> 
      <a href="">Creative</a> 

      <ul> 

      <li> 
       <a href="">Film</a> 
      </li> 

      <li> 
       <a href="">Design</a> 
      </li> 

      <li> 
       <a href="">Music</a> 
      </li> 

      </ul> 

     </li> 

     <li> 
      <a href="">Information</a> 
     </li> 

     <li> 
      <a href="">Contact Me</a> 
     </li> 
     </ul> 
    </nav> 

    <div id="banner"> 
     <img src="images/banner.png" alt="Banner image did not load." ;> 
    </div> 

    </body> 

</html> 

CSS: * { 餘量:0; 填充:0; }

body { 
    margin: 0; 
    padding: 0; 
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue",  Helvetica, Arial, "Lucida Grande", sans-serif; 
    font-weight: 300; 
} 

nav { 
    width: 100%; 
    height: 40px; 
    margin: 0 auto; 
    background-color: #ffffff; 
    box-shadow: 0px 2px 5px #6E6E6E; 
    position: fixed; 
} 

nav ul { 
    width: 1200px; 
    margin: 0 auto; 
    position: relative; 
    list-style: none; 
    color: #00b6ed; 
} 

nav ul li a { 
    width: 20%; 
    display: inline; 
    text-align: center; 
    float: left; 
    padding-top: 11px; 
    padding-bottom: 11px; 
    color: #00b6ed; 
    text-decoration: none; 
} 

nav ul li a:hover { 
    background-color: #00b6ed; 
    color: #ffffff; 
} 

nav ul li ul { 
    display: none; 
    position: relative; 
} 

nav ul li:hover ul { 
    display: block; 
    position: relative; 
} 

#banner { 
    width: 100%; 
    height: 400px; 
    background-color: #00b6ed; 
    float: left; 
    text-align: center; 
} 

#banner img { 
    margin: 0 auto; 
    background-color: #00b6ed; 
} 

nav ul li ul li a { 
    background-color: red; 
    color: green; 
} 

回答

2

你有一些錯誤。不要浮動並將寬度分配給錨標籤。而是浮動列表項。您還需要將position: relative添加到li,然後將position: absolute; left: 0; top: 100%;添加到子女ul。我應該這樣做。

* { 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 

 
body { 
 
    margin: 0; 
 
    padding: 0; 
 
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; 
 
    font-weight: 300; 
 
} 
 

 
nav { 
 
    width: 100%; 
 
    height: 40px; 
 
    margin: 0 auto; 
 
    background-color: #ffffff; 
 
    box-shadow: 0px 2px 5px #6E6E6E; 
 
    position: fixed; 
 
} 
 

 
nav ul { 
 
    width: 1200px; 
 
    margin: 0 auto; 
 
    position: relative; 
 
    list-style: none; 
 
    color: #00b6ed; 
 
} 
 

 
nav ul li { 
 
    width: 20%; 
 
    float: left; 
 
    position: relative; 
 
} 
 

 
nav ul li a { 
 
    display: block; 
 
    text-align: center; 
 
    padding-top: 11px; 
 
    padding-bottom: 11px; 
 
    color: #00b6ed; 
 
    text-decoration: none; 
 
} 
 

 
nav ul li a:hover { 
 
    background-color: #00b6ed; 
 
    color: #ffffff; 
 
} 
 

 
nav ul li ul { 
 
    display: none; 
 
    position: absolute; 
 
    left: 0; 
 
    top: 100%; 
 
} 
 

 
nav ul li:hover ul { 
 
    display: block; 
 
    position: relative; 
 
} 
 

 
#banner { 
 
    width: 100%; 
 
    height: 400px; 
 
    background-color: #00b6ed; 
 
    float: left; 
 
    text-align: center; 
 
} 
 

 
#banner img { 
 
    margin: 0 auto; 
 
    background-color: #00b6ed; 
 
} 
 

 
nav ul li ul li { 
 
    float: none; 
 
} 
 

 
nav ul li ul li a { 
 
    background-color: red; 
 
    color: green; 
 
}
<!DOCTYPE html> 
 
<html lang="en"> 
 

 
    <head> 
 

 
    <meta charset="utf-8"> 
 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
 

 
    <title>Udemy Project</title> 
 

 
    <link type="text/css" href="styles.css" rel="stylesheet"> 
 

 
    <script type="text/javascript" src="javascript.js"></script> 
 
    <script type="text/javascript" src="jquery.min.js"></script> 
 
    <!--<script type="text/javascript" src="jquery-ui.min.js"></script> 
 
    <script type="text/javascript" src="js/bootstrap.min.js"></script>--> 
 

 

 
    </head> 
 

 
    <body> 
 

 
    <nav> 
 
     <ul> 
 

 
     <li> 
 
      <a href="">Home</a> 
 
     </li> 
 

 
     <li> 
 
      <a href="">Development</a> 
 
     </li> 
 

 
     <li> 
 
      <a href="">Creative</a> 
 

 
      <ul> 
 

 
      <li> 
 
       <a href="">Film</a> 
 
      </li> 
 

 
      <li> 
 
       <a href="">Design</a> 
 
      </li> 
 

 
      <li> 
 
       <a href="">Music</a> 
 
      </li> 
 

 
      </ul> 
 

 
     </li> 
 

 
     <li> 
 
      <a href="">Information</a> 
 
     </li> 
 

 
     <li> 
 
      <a href="">Contact Me</a> 
 
     </li> 
 
     </ul> 
 
    </nav> 
 

 
    <div id="banner"> 
 
     <img src="images/banner.png" alt="Banner image did not load." ;> 
 
    </div> 
 

 
    </body> 
 

 
</html>