html - 移动主菜单后悬停菜单问题

标签 html css

#header {
  height: 108px;
  width: 1140px;
  background-color: #faa220;
  position: relative;
}

#Logo2 {
  height: 108px;
  float: left;

}

#header links {
  height: 50px;
  float: left;
  list-style: none;
  padding-top: 10px;
}

#container {
  overflow: hidden;
  background-color: #faa220;
  font-family: Arial, Helvetica, sans-serif;
  position: absolute;
  bottom: 0;
  right: 215px;
}

.container a {
  float: left;
  font-size: 18px;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  position: absolute;
}

.dropdown {
  float: left;
  overflow: hidden;
}

.dropdown .dropbtn {
  font-size: 18px;
  border: none;
  outline: none;
  color: white;
  padding: 14px 16px;
  background-color: inherit;
  cursor: pointer;
  }

.container a:hover, .dropdown:hover .dropbtn {
  background-color: #faa220;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #faa220;
  min-width: 100px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
  position: absolute;
}

.dropdown-content a {
  float: none;
  color: white;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
  position: absolute;
  bottom: 0;
}

.dropdown-content a:hover {
  background-color: #faa220;
  position: absolute;
  bottom: 0;
}

.dropdown:hover .dropdown-content {
  position: absolute;
  display: block;
  bottom: 0;
}
    <div id="header">
    <img src="../JPEG/i2i logo 2.jpg" align="left" id="Logo2" />
    <div id="container">
      <div class="dropdown">
            <a href="index.html"><button class="dropbtn">Home</button></a>
        </div><!--dropdown close div-->
        <div class="dropdown">
            <a href="about.html"><button class="dropbtn">About Us</button></a>
            <div class="dropdown-content">
                <a href="bio.html">Bio</a>
                <a href="news.html">News</a>
                <a href="partners.html">Partners</a>
            </div><!--dropdown-content close div-->
        </div><!--dropdown close div-->
        <div class="dropdown">  
            <a href="awards.html"><button class="dropbtn">Awards/Certifications</button></a>
        </div>
        <div class="dropdown">
            <a href="services.html"><button class="dropbtn">Services</button></a>
            <div class="dropdown-content">
                <a href="solar.html">Solar</a>
                <a href="water.html">Water</a>
                <a href="housing.html">Housing</a>
                <a href="training.html">Training</a>
                <a href="broadband.html">Broadband</a>
            </div><!--dropdown-content close div-->
        </div><!--dropdown close div-->
        <div class="dropdown">
            <a href="help.html"><button class="dropbtn">How You Can Help</button></a>
            <div class="dropdown-content">
                <a href="donate.html">Donate</a>
                <a href="volunteer.html">Volunteer</a>
                <a href="intern.html">Intern</a>
            </div><!--dropdown-content close div-->
        </div><!--dropdown close div-->
        <div class="dropdown">
            <a href="contact.html"><button class="dropbtn">Contact</button></a>
            <div class="dropdown-content">
                <a href="email.html">Email</a>
                <a href="faqs.html">FAQS</a>
                <a href="newsletter.html">Newsletter</a>
            </div><!--dropdown-content-->
        </div><!--dropdown close div-->
    </div><!--container close div-->

移动主菜单后,悬停菜单出现问题。由于 Logo ,它所在的 div 比菜单 div 大。当我第一次编写菜单代码时,它位于 div 的顶部,悬停菜单显示正常。

我使用绝对位置和相对位置将菜单 div 移动到父 div 的底部,将底部设置为 0,将右侧设置为 215 像素。之后悬停菜单开始重叠在主菜单上。任何帮助表示赞赏。

最佳答案

为了让Logo适应headers高度:

#logo2 {

  display: block;
  width: auto;
  height: auto;
  max-height: 108px;

}

您已将菜单容器设置为绝对位置,我将其设置为内联,因此它不会停留在 Logo 上方: - 因此从 #container 中删除 position: absolute;,并添加以下内容:line-height: 108px;,使菜单垂直居中.

为了使 Logo 略小于 header 本身,同时将其居中,我在#logo 中添加了以下内容:

max-height: 70px;
margin: 19px 10px 19px 10px;

#header {
  height: 108px;
  width: 1140px;
  background-color: #faa220;
  position: relative;
}

#Logo2 {
  float: left;
  display: block;
  width: auto;
  height: auto;
  max-height: 70px;
  margin: 19px 10px 19px 10px;
}

#header links {
  height: 50px;
  float: left;
  list-style: none;
  padding-top: 10px;
}

#container {
  overflow: hidden;
  background-color: #faa220;
  font-family: Arial, Helvetica, sans-serif;
  bottom: 0;
  right: 215px;
  line-height: 108px;
}

.container a {
  float: left;
  font-size: 18px;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  position: absolute;
}

.dropdown {
  float: left;
  overflow: hidden;
}

.dropdown .dropbtn {
  font-size: 18px;
  border: none;
  outline: none;
  color: white;
  padding: 14px 16px;
  background-color: inherit;
  cursor: pointer;
}

.container a:hover,
.dropdown:hover .dropbtn {
  background-color: #faa220;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #faa220;
  min-width: 100px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
  position: absolute;
}

.dropdown-content a {
  float: none;
  color: white;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
  position: absolute;
  bottom: 0;
}

.dropdown-content a:hover {
  background-color: #faa220;
  position: absolute;
  bottom: 0;
}

.dropdown:hover .dropdown-content {
  position: absolute;
  display: block;
  bottom: 0;
}
<div id="header">
  <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/ce/Coca-Cola_logo.svg/1200px-Coca-Cola_logo.svg.png" align="left" id="Logo2" />
  <div id="container">
    <div class="dropdown">
      <a href="index.html"><button class="dropbtn">Home</button></a>
    </div>
    <!--dropdown close div-->
    <div class="dropdown">
      <a href="about.html"><button class="dropbtn">About Us</button></a>
      <div class="dropdown-content">
        <a href="bio.html">Bio</a>
        <a href="news.html">News</a>
        <a href="partners.html">Partners</a>
      </div>
      <!--dropdown-content close div-->
    </div>
    <!--dropdown close div-->
    <div class="dropdown">
      <a href="awards.html"><button class="dropbtn">Awards/Certifications</button></a>
    </div>
    <div class="dropdown">
      <a href="services.html"><button class="dropbtn">Services</button></a>
      <div class="dropdown-content">
        <a href="solar.html">Solar</a>
        <a href="water.html">Water</a>
        <a href="housing.html">Housing</a>
        <a href="training.html">Training</a>
        <a href="broadband.html">Broadband</a>
      </div>
      <!--dropdown-content close div-->
    </div>
    <!--dropdown close div-->
    <div class="dropdown">
      <a href="help.html"><button class="dropbtn">How You Can Help</button></a>
      <div class="dropdown-content">
        <a href="donate.html">Donate</a>
        <a href="volunteer.html">Volunteer</a>
        <a href="intern.html">Intern</a>
      </div>
      <!--dropdown-content close div-->
    </div>
    <!--dropdown close div-->
    <div class="dropdown">
      <a href="contact.html"><button class="dropbtn">Contact</button></a>
      <div class="dropdown-content">
        <a href="email.html">Email</a>
        <a href="faqs.html">FAQS</a>
        <a href="newsletter.html">Newsletter</a>
      </div>
      <!--dropdown-content-->
    </div>
    <!--dropdown close div-->
  </div>
  <!--container close div-->

附言。我不知道菜单交互是怎么回事,但你可能会知道。

关于html - 移动主菜单后悬停菜单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44645158/

相关文章:

javascript - HTML 表单验证问题

jquery - 带有可点击步骤的多步骤表单

jquery - Content Filter + Samsung grid loading effects 导致添加这两个错误

HTML:全屏 2x2 表格,每个单元格中都有缩小/拉伸(stretch)(但比例正确)的图像

javascript - 根据名称值设置邮件值

javascript 的 onmousemove/event.clientX 正在运行但会抛出错误

javascript - 如何在发布数据中进行ajax调用 --> 图像和自定义数据(名称和值对)

CSS : z-index failed to make popup container?

html - 使 parent 不扩展到 child 的内容

javascript - D3.js 样式化突出显示的表格