添加内容div时无法在悬停时访问子菜单

时间:2015-06-09 11:36:10

标签: html css

我正在尝试设计一个带有水平导航栏和侧栏的网站。当我添加阻碍子菜单的div(内容)

时,问题就出现了

我正在添加代码供您参考。请帮帮我



html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
  -webkit-user-select: none;
  -moz-user-select: -moz-none;
  -ms-user-select: none;
  user-select: none;
}
.header {
  width: 100%;
  height: 60px;
}
/*http://jsfiddle.net/EnKwU/4/*/

.nav {
  text-align: center;
  width: 85%;
  padding: 10px;
  margin: 12px 50px 50px 120px;
  float: left;
}
.nav ul ul {
  display: none;
  position: fixed;
}
.nav ul li:hover > ul {
  display: block;
}
.nav ul {
  background-color: #fff;
  margin-top: 10px;
  padding: 0 20px;
  list-style: none;
  position: relative;
  display: inline-block;
  zoom: 1;
  *display: inline;
  margin-right: -80px;
  font-family: 'Lato', sans-serif;
  text-transform: uppercase;
  font-size: 1em;
}
.nav ul li {
  float: left;
}
.nav ul li:hover {
  border-bottom: 5px solid #339966;
  color: #fff;
}
.nav ul li a:hover {
  color: #ffffff;
  background: #1bbc9b;
}
.nav ul li a {
  display: block;
  padding: 0.3em 0.8em;
  font-family: 'Lato', sans-serif;
  font-size: 0.9em;
  color: #444;
  text-decoration: none;
}
.nav ul ul {
  background-color: #fff;
  border-radius: 0;
  padding: 0;
  position: absolute;
  top: 100%;
  box-shadow: 0 0 9px rgba(0, 0, 0, 0.15);
}
.nav ul ul li {
  float: none;
  position: relative;
  font-family: 'Lato', sans-serif;
  text-transform: uppercase;
  font-size: 0.85em;
}
.nav ul ul li a {
  padding: 0.4em 1.2em;
  color: #000;
  font-family: 'Lato', sans-serif;
  text-transform: uppercase;
  font-size: 1em;
}
.nav ul ul:before {
  content: "";
  display: block;
  height: 20px;
  position: absolute;
  top: -20px;
  width: 100%;
}
.nav1 {
  position: absolute;
  left: 25px;
  top: 160px;
  bottom: 0;
  width: 25%;
  float: left;
}
.content {
  border: 1px solid black;
  position: absolute;
  left: 26%;
  top: 140px;
  bottom: 0;
  width: 75%;
  float: left;
}
/*http://www.9lessons.info/2012/06/simple-drop-down-menu-with-jquery-and.html*/

.dropdown {
  color: #555;
  margin: 3px -22px 0 0;
  width: 143px;
  position: relative;
  height: 17px;
  text-align: left;
  float: right;
}
.submenu {
  background: #fff;
  position: absolute;
  top: -12px;
  left: -20px;
  z-index: 100;
  width: 135px;
  display: none;
  margin-left: 10px;
  padding: 40px 0 5px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
  clear: both;
}
.dropdown li a {
  color: #555555;
  display: block;
  font-family: arial;
  font-weight: bold;
  padding: 6px 15px;
  cursor: pointer;
  text-decoration: none;
}
.dropdown li a:hover {
  background: #155FB0;
  color: #FFFFFF;
  text-decoration: none;
}
a.account {
  font-size: 11px;
  line-height: 16px;
  color: #555;
  position: absolute;
  z-index: 110;
  display: block;
  padding: 11px 0 0 20px;
  height: 28px;
  width: 121px;
  margin: -11px 0 0 -10px;
  text-decoration: none;
  background: url(icons/arrow.png) 116px 17px no-repeat;
  cursor: pointer;
}
.root {
  list-style: none;
  margin: 0px;
  padding: 0px;
  font-size: 11px;
  padding: 11px 0 0 0px;
  border-top: 1px solid #dedede;
}
/*  http://codepen.io/daniesy/pen/pfxFi 
icons :  http://fontawesome.io/

*/

* {
  padding: 0;
  margin: 0;
  font-family: 'Lato', sans-serif;
  box-sizing: border-box;
}
.float-right {
  float: right;
}
.fa {
  font-size: .8em;
  line-height: 22px !important;
}
.nav1 {
  display: inline-block;
  margin: 20px 50px;
}
.nav1 label {
  display: block;
  width: 250px;
  background: #ECF0F1;
  padding: 15px 20px;
}
.nav1 ul li {
  display: block;
  width: 250px;
  background: #ECF0F1;
  padding: 15px 20px;
}
.nav1 label:hover {
  background: #1ABC9C;
  color: white;
  cursor: pointer;
}
.nav1 ul li:hover {
  background: #1ABC9C;
  color: white;
  cursor: pointer;
}
.nav1 label {
  color: #1ABC9C;
  border-left: 4px solid #1ABC9C;
  border-radius: 0 5px 0 0;
  position: relative;
  z-index: 2;
}
.nav1 input {
  display: none;
}
.nav1 input ~ ul {
  position: relative;
  visibility: hidden;
  opacity: 0;
  top: -20px;
  z-index: 1;
}
.nav1 input:checked + label {
  background: #1ABC9C;
  color: white;
}
.nav1 input:checked ~ ul {
  visibility: visible;
  opacity: 1;
  top: 0;
}
.nav1 ul li a {
  text-decoration: none;
}
.nav1 ul li:nth-child(1) {
  border-left: 4px solid #E74C3C;
}
.nav1 ul li:nth-child(1) .fa {
  color: #E74C3C;
}
.nav1 ul li:nth-child(1):hover {
  background: #E74C3C;
  color: white;
  font-weight: bold;
}
.nav1 ul li:nth-child(2) {
  border-left: 4px solid #0072B5;
}
.nav1 ul li:nth-child(2) .fa {
  color: #0072B5;
}
.nav1 ul li:nth-child(2):hover {
  background: #0072B5;
  color: white;
  font-weight: bold;
}
.nav1 ul li:nth-child(3) {
  border-left: 4px solid #EC1559;
}
.nav1 ul li:nth-child(3) .fa {
  color: #EC1559;
}
.nav1 ul li:nth-child(3):hover {
  background: #EC1559;
  color: white;
  font-weight: bold;
}

<!DOCTYPE html>
<html>

<head>
  <link href="menu.css" rel="stylesheet" type="text/css">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <script type="text/javascript" src="jquery.min.js"></script>
  <script type="text/javascript" src="jquery.ajax.js"></script>
  <script type="text/javascript" src="js/func.js"></script>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <!-- Compliance patch for Microsoft browsers -->
  <!--[if lt IE 9]><script src="js/IE9.js"></script><![endif]-->


</head>

<body>
  <!---header and side bar for user name and logout menu -starts here -->
  <div class="header">
    <div class="dropdown">
      <a class="account">
        <?php $y=$ _SESSION[ 'user']; echo "UserID: $y";?>
      </a>

      <div class="submenu">
        <ul class="root">
          <li><a href="#Dashboard">Dashboard</a>
          </li>
          <li><a href="#Profile">Profile</a>
          </li>
          <li><a href="#settings">Settings</a>
          </li>
          <li><a href="logout.php">LogOut</a>
          </li>
        </ul>
      </div>

    </div>

  </div>

  <!--header ended here-->

  <!--horizantal navigation bar starts here -->

  <div class="nav">
    <ul>
      <li><a href="home.php">Home</a>
      </li>
      <li><a href="#">Portfolio</a>
        <ul>
          <li><a href="AD1.php">Active Directory</a>
            <li><a href="#">HelpDesk</a>
              <li><a href="#">CTS</a>
                <li><a href="#">Exchange/Infra</a>
                  <li><a href="#">Others</a>
        </ul>
        </li>
        <li><a href="#">Downloads</a>
        </li>
        <li><a href="#">Blog</a>
        </li>
        <li><a href="#">News</a>
        </li>
        <li><a href="#">Contact US</a>
        </li>
    </ul>

  </div>

  <div class="nav1">


    <label for="toggle2" id="kl">Active Directory</label>

    <ul class="animate" style="display:none" id="kll">
      <li class="animate"><a href="submit.php">Create Domain User</a>
      </li>
      <li class="animate"><a href="#">Domain Password Reset</a>
      </li>
      <li class="animate"><a href="#">Domain Joining</a>
      </li>
    </ul>
  </div>

  <div class="content">
  </div>
</body>

</html>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

&#13;
&#13;
html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
  -webkit-user-select: none;
  -moz-user-select: -moz-none;
  -ms-user-select: none;
  user-select: none;
}
.header {
  width: 100%;
  height: 60px;
}
/*http://jsfiddle.net/EnKwU/4/*/

.nav {
  text-align: center;
  width: 85%;
  padding: 10px;
  margin: 12px 50px 50px 120px;
  float: left;
}
.nav ul ul {
  display: none;
  position: fixed;
  z-index:999;
}
.nav ul li:hover > ul {
  display: block;
}
.nav ul {
  background-color: #fff;
  margin-top: 10px;
  padding: 0 20px;
  list-style: none;
  position: relative;
  display: inline-block;
  zoom: 1;
  *display: inline;
  margin-right: -80px;
  font-family: 'Lato', sans-serif;
  text-transform: uppercase;
  font-size: 1em;
}
.nav ul li {
  float: left;
}
.nav ul li:hover {
  border-bottom: 5px solid #339966;
  color: #fff;
}
.nav ul li a:hover {
  color: #ffffff;
  background: #1bbc9b;
}
.nav ul li a {
  display: block;
  padding: 0.3em 0.8em;
  font-family: 'Lato', sans-serif;
  font-size: 0.9em;
  color: #444;
  text-decoration: none;
}
.nav ul ul {
  background-color: #fff;
  border-radius: 0;
  padding: 0;
  position: absolute;
  top: 100%;
  box-shadow: 0 0 9px rgba(0, 0, 0, 0.15);
}
.nav ul ul li {
  float: none;
  position: relative;
  font-family: 'Lato', sans-serif;
  text-transform: uppercase;
  font-size: 0.85em;
}
.nav ul ul li a {
  padding: 0.4em 1.2em;
  color: #000;
  font-family: 'Lato', sans-serif;
  text-transform: uppercase;
  font-size: 1em;
}
.nav ul ul:before {
  content: "";
  display: block;
  height: 20px;
  position: absolute;
  top: -20px;
  width: 100%;
}
.nav1 {
  position: absolute;
  left: 25px;
  top: 160px;
  bottom: 0;
  width: 25%;
  float: left;
}
.content {
  border: 1px solid black;
  position: absolute;
  left: 26%;
  top: 140px;
  bottom: 0;
  width: 75%;
  float: left;
}
/*http://www.9lessons.info/2012/06/simple-drop-down-menu-with-jquery-and.html*/

.dropdown {
  color: #555;
  margin: 3px -22px 0 0;
  width: 143px;
  position: relative;
  height: 17px;
  text-align: left;
  float: right;
}
.submenu {
  background: #fff;
  position: absolute;
  top: -12px;
  left: -20px;
  z-index: 100;
  width: 135px;
  display: none;
  margin-left: 10px;
  padding: 40px 0 5px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
  clear: both;
}
.dropdown li a {
  color: #555555;
  display: block;
  font-family: arial;
  font-weight: bold;
  padding: 6px 15px;
  cursor: pointer;
  text-decoration: none;
}
.dropdown li a:hover {
  background: #155FB0;
  color: #FFFFFF;
  text-decoration: none;
}
a.account {
  font-size: 11px;
  line-height: 16px;
  color: #555;
  position: absolute;
  z-index: 110;
  display: block;
  padding: 11px 0 0 20px;
  height: 28px;
  width: 121px;
  margin: -11px 0 0 -10px;
  text-decoration: none;
  background: url(icons/arrow.png) 116px 17px no-repeat;
  cursor: pointer;
}
.root {
  list-style: none;
  margin: 0px;
  padding: 0px;
  font-size: 11px;
  padding: 11px 0 0 0px;
  border-top: 1px solid #dedede;
}
/*  http://codepen.io/daniesy/pen/pfxFi 
icons :  http://fontawesome.io/

*/

* {
  padding: 0;
  margin: 0;
  font-family: 'Lato', sans-serif;
  box-sizing: border-box;
}
.float-right {
  float: right;
}
.fa {
  font-size: .8em;
  line-height: 22px !important;
}
.nav1 {
  display: inline-block;
  margin: 20px 50px;
}
.nav1 label {
  display: block;
  width: 250px;
  background: #ECF0F1;
  padding: 15px 20px;
}
.nav1 ul li {
  display: block;
  width: 250px;
  background: #ECF0F1;
  padding: 15px 20px;
}
.nav1 label:hover {
  background: #1ABC9C;
  color: white;
  cursor: pointer;
}
.nav1 ul li:hover {
  background: #1ABC9C;
  color: white;
  cursor: pointer;
}
.nav1 label {
  color: #1ABC9C;
  border-left: 4px solid #1ABC9C;
  border-radius: 0 5px 0 0;
  position: relative;
  z-index: 2;
}
.nav1 input {
  display: none;
}
.nav1 input ~ ul {
  position: relative;
  visibility: hidden;
  opacity: 0;
  top: -20px;
  z-index: 1;
}
.nav1 input:checked + label {
  background: #1ABC9C;
  color: white;
}
.nav1 input:checked ~ ul {
  visibility: visible;
  opacity: 1;
  top: 0;
}
.nav1 ul li a {
  text-decoration: none;
}
.nav1 ul li:nth-child(1) {
  border-left: 4px solid #E74C3C;
}
.nav1 ul li:nth-child(1) .fa {
  color: #E74C3C;
}
.nav1 ul li:nth-child(1):hover {
  background: #E74C3C;
  color: white;
  font-weight: bold;
}
.nav1 ul li:nth-child(2) {
  border-left: 4px solid #0072B5;
}
.nav1 ul li:nth-child(2) .fa {
  color: #0072B5;
}
.nav1 ul li:nth-child(2):hover {
  background: #0072B5;
  color: white;
  font-weight: bold;
}
.nav1 ul li:nth-child(3) {
  border-left: 4px solid #EC1559;
}
.nav1 ul li:nth-child(3) .fa {
  color: #EC1559;
}
.nav1 ul li:nth-child(3):hover {
  background: #EC1559;
  color: white;
  font-weight: bold;
}
&#13;
<!DOCTYPE html>
<html>

<head>
  <link href="menu.css" rel="stylesheet" type="text/css">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <script type="text/javascript" src="jquery.min.js"></script>
  <script type="text/javascript" src="jquery.ajax.js"></script>
  <script type="text/javascript" src="js/func.js"></script>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <!-- Compliance patch for Microsoft browsers -->
  <!--[if lt IE 9]><script src="js/IE9.js"></script><![endif]-->


</head>

<body>
  <!---header and side bar for user name and logout menu -starts here -->
  <div class="header">
    <div class="dropdown">
      <a class="account">
        <?php $y=$ _SESSION[ 'user']; echo "UserID: $y";?>
      </a>

      <div class="submenu">
        <ul class="root">
          <li><a href="#Dashboard">Dashboard</a>
          </li>
          <li><a href="#Profile">Profile</a>
          </li>
          <li><a href="#settings">Settings</a>
          </li>
          <li><a href="logout.php">LogOut</a>
          </li>
        </ul>
      </div>

    </div>

  </div>

  <!--header ended here-->

  <!--horizantal navigation bar starts here -->

  <div class="nav">
    <ul>
      <li><a href="home.php">Home</a>
      </li>
      <li><a href="#">Portfolio</a>
        <ul>
          <li><a href="AD1.php">Active Directory</a>
            <li><a href="#">HelpDesk</a>
              <li><a href="#">CTS</a>
                <li><a href="#">Exchange/Infra</a>
                  <li><a href="#">Others</a>
        </ul>
        </li>
        <li><a href="#">Downloads</a>
        </li>
        <li><a href="#">Blog</a>
        </li>
        <li><a href="#">News</a>
        </li>
        <li><a href="#">Contact US</a>
        </li>
    </ul>

  </div>

  <div class="nav1">


    <label for="toggle2" id="kl">Active Directory</label>

    <ul class="animate" style="display:none" id="kll">
      <li class="animate"><a href="submit.php">Create Domain User</a>
      </li>
      <li class="animate"><a href="#">Domain Password Reset</a>
      </li>
      <li class="animate"><a href="#">Domain Joining</a>
      </li>
    </ul>
  </div>

  <div class="content">
  </div>
</body>

</html>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您只需增加子菜单的z-index即可。添加

.nav ul ul{
  z-index:99;
}
  

z-index属性指定元素的z顺序及其顺序   后人。当元素重叠时,z顺序决定哪一个   涵盖了另一个。具有较大z指数的元素通常覆盖一个   较低的元素。

虽然在这种情况下99的值可能过大,但z-index有效地决定了相关元素的分层优先级。请注意,为了应用,该元素还需要position集(您的子菜单已经存在)

答案 2 :(得分:0)

添加

.content{
    z-index: -100;
}

内容就像成为下拉菜单项的叠加层。所以光标活动范围就丢失了。

或为菜单

添加正值的z-index