首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何动态定位绝对div?

如何动态定位绝对div?
EN

Stack Overflow用户
提问于 2019-06-02 09:45:30
回答 1查看 2K关注 0票数 0

假设我有一个1000px的页面宽度,我的页眉包含10个使用justify-content: space-between的水平导航元素。如果我将鼠标悬停在nav 1链接上,一个绝对的菜单div将出现宽度和特定的宽度和left: 0,如果我悬停在nav 2上,另一个菜单div将仍然显示left: 0。但是当我将鼠标悬停在nav 7nav 8上时,如何自动使菜单正确对齐(right: 0)?

下面是我的html &css的代码片段:

<nav>
  <ul>
    <li>
      <a href="#">Nav menu1</a>
      <div class="menu">Content menu 1</div>
    </li>
    <li>
      <a href="#">Nav menu2</a>
      <div class="menu">Content menu 2</div>
    </li>
    <li>
      <a href="#">Nav menu3</a>
      <div class="menu">Content menu 3</div>
    </li>
    <li>
      <a href="#">Nav menu4</a>
      <div class="menu">Content menu 4</div>
    </li>
    <li>
      <a href="#">Nav menu5</a>
      <div class="menu">Content menu 5</div>
    </li>
    <li>
      <a href="#">Nav menu6</a>
      <div class="menu">Content menu 6</div>
    </li>
    <li>
      <a href="#">Nav menu7</a>
      <div class="menu">Content menu 7</div>
    </li>
    <li>
      <a href="#">Nav menu8</a>
      <div class="menu">Content menu 8</div>
    </li>
    <li>
      <a href="#">Nav menu9</a>
      <div class="menu">Content menu 9</div>
    </li>
    <li>
      <a href="#">Nav menu10</a>
      <div class="menu">Content menu 10</div>
    </li>
  </ul>
</nav>


ul {
    display: flex;
    font-size: 15px;
    height: 100%;
    border: solid 1px #ccc;
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px;
    align-items: center;
    justify-content: space-between;
}

ul > li {
  display: flex;
  position: relative;
  cursor: pointer;
  padding-left: 6px;
  padding-right: 6px;
  height: 40px;
  align-items: center;
  white-space: nowrap;
  list-style: none;
}

.menu {
  display: block;
  position: absolute;
  visibility: hidden;
  color: #333;
    width: 500px;
  background: #fff;
  padding: 18px;
  min-height: 80px;
  box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2), 0px 1px 1px 0px rgba(0,0,0,0.14), 0px 1px 3px 0px rgba(0,0,0,0.12);
  opacity: 0;
  transition: all .4s ease;
  transition-delay: .3s;
  left: 0;
  top: 140%;
  z-index: 99999;
}

ul > li:hover .menu {
    display: block;
    visibility: visible;
    opacity: 1;
    top: 100%;
}
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56411668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档