CSS HTML下拉导航元素显示为内联而不是下方

时间:2016-01-20 21:34:04

标签: html css

下面是我的一些代码的JSFiddle链接。我试图在不使用bootstrap或其他插件排序的情况下实现光滑的纯html / css下拉菜单。但是我似乎无法获得“创意”#39;下拉元素显示在导航栏下方,它们显示为内嵌式,我尝试更改代码的其他部分以使其正常工作但我似乎无法在不影响其余导航的情况下执行此操作-bar。

如果有人可以看看,当你将鼠标悬停在' Creative'它的子列表元素出现在它下面。最好不要只是造型填充和边距。

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

1 个答案:

答案 0 :(得分:2)

你有一些错误。不要浮动并为锚标签指定宽度。而是浮动列表项。您还需要将position: relative添加到li,然后将position: absolute; left: 0; top: 100%;添加到子ul。应该这样做我想。

&#13;
&#13;
* {
  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;
}
&#13;
<!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>
&#13;
&#13;
&#13;