0

我有一个菜单。当我将鼠标悬停在子菜单上时,我需要显示子菜单。我有一些代码如下。但子菜单与现有菜单重叠。

以下是我的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title>CSS Drop Down Menus</title>

  <style type="text/css">
    * {
      margin: 0;
      padding: 0;
    }
    body {
      font-family: "Trebuchet MS", Helvetica, Sans-Serif;
      font-size: 14px;
    }
    a {
      text-decoration: none;
      color: #838383;
    }
    a:hover {
      color: black;
    }
    #menu {
      position: relative;
      margin-left: 30px;
    }
    #menu a {
      display: block;
      width: 140px;
    }
    #menu ul {
      list-style-type: none;
      padding-top: 5px;
    }
    #menu li {
      float: top;
      position: relative;
      padding: 3px 0;
      text-align: center;
    }
    #menu ul.sub-menu {
      display: none;
      position: absolute;
      top: 20px;
      left: -10px;
      padding: 10px;
      z-index: 90;
    }
    #menu ul.sub-menu li {
      text-align: top;
    }
    #menu li:hover ul.sub-menu {
      display: block;
      border: 1px solid #ececec;
    }
  </style>
</head>
<body>
<div id="menu">
  <ul>
    <li><a href="#">Home</a>
      <ul class="sub-menu">
        <li><a href="#">Pages</a></li>
        <li><a href="#">Archives</a></li>
        <li><a href="#">New Posts</a></li>
        <li><a href="#">Recent Comments</a></li>
      </ul>
    </li>
    <li><a href="#">About</a>
      <ul class="sub-menu">
        <li><a href="#">Get to know us</a></li>
        <li><a href="#">Find out what we do</a></li>
      </ul>
    </li>
    <li><a href="#">Contact</a>
      <ul class="sub-menu">
        <li><a href="#">E-mail Us</a></li>
        <li><a href="#">Use Our Contact Form</a></li>
      </ul>
    </li>
  </ul>
</div>
</body>
</html>

我需要这样的效果。 在此处输入图像描述

我怎样才能做到。

4

2 回答 2

1

我认为您正在寻找一种称为“带有下拉菜单的导航翻转”的东西。

这是您可以找到的最佳实现之一 - 根据需要进行调整和使用:

http://jorenrapini.com/blog/web-development/css-navigation-rollovers-with-drop-downs#post-170

而且,看看它是否值得尝试,这是最终结果:

http://jorenrapini.com/posts/css-rollovers/post2.html

祝你好运!

于 2013-03-10T05:49:49.350 回答
1

你已经设置好left: -10px#menu ul.sub-menu,这就是它重叠的原因#menu。您应该将其设置为一个可以将其向右移动足够远以满足您的目的的值,也许left: 140px因为那是menudiv 的宽度。

于 2013-03-10T05:50:06.550 回答