【问题标题】:Customization of Dropdown Menu in the <div><div> 中下拉菜单的自定义
【发布时间】:2018-07-03 06:31:42
【问题描述】:

我的任务是获取这样的元素:

导航项中有一个下拉菜单,菜单上有一个顶部居中的三角形,下拉菜单位于中心。

这是我迄今为止的尝试:FIDDLE: Right dropdown design

我已将中心的下拉菜单定位到父 div,但我仍然无法获得所需的结果:

1.让导航上方的下拉菜单不在即将到来的导航内。

2。获取尚未对齐的下拉列表正上方的三角形,背景为白色,边框颜色与下拉列表相同

nav.navbar {
  padding: 1.1rem 1rem;
  background-color: #ffffff;
  box-shadow: 0 5px 5px #f1f1f1
}

.custom-button {
  height: 34px;
  width: 34px;
  font-size: 14px;
  border-radius: 50%;
  color: rgb(162, 197, 252);
  border: 1px solid rgb(162, 197, 252);
  background-color: Transparent;
}

.dropdown:hover .dropdown-menu {
  display: block;
  margin: 0 auto;
}

.dropdown {
  text-align: center
}

.dropdown-menu {
  min-width: 140px;
  min-height: 140px;
  position: absolute;
}

.dropdown a {
  color: rgb(192, 192, 192);
  font-size: 12px
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<nav class="navbar navbar-toggleable-md">
  <div class="container">
    <a class="navbar-brand" href="#">Testing</a>
    <ul class="navbar-nav mr-auto"></ul>
    <ul class="navbar-nav" *ngIf="userService.token()">
      <li class="nav-item">
        <div class="dropdown">
          <button class="custom-button">NL</button>
          <div class="dropdown-menu">
            <a class="dropdown-item" href="#">Classes</a>
            <div class="dropdown-divider"></div>
            <a class="dropdown-item" href="#">Profile</a>
            <a class="dropdown-item" href="#">Settings</a>
            <a class="dropdown-item" href="#">Logout</a>
          </div>
        </div>
      </li>
    </ul>
  </div>
</nav>

【问题讨论】:

  • 3:下拉时不移动
  • @BhuwanBhatt 测试版我猜。
  • @AlokKumarVerma 我已经更新了你的小提琴...检查下面的解决方案

标签: html css drop-down-menu bootstrap-4


【解决方案1】:

如果您想在悬停时显示下拉菜单,则需要使用 css 进行一些修复..

使用变换使您的下拉菜单居中。此外,您根据 bootstrap4 navbar 下拉文档使用了错误的下拉标记..

参考链接:Bootstrap4 Navbar Dropdown

我已将其更改为更新的小提琴。

Updated Fiddle

【讨论】:

  • 谢谢,它起作用了,只是添加了位置:absolute,它工作正常!但是我正在观察的一件事,我只是想为我的下拉菜单添加一点边距,所以我确实喜欢这个.dropdown-menu { margin-top: 13px},我观察到一些奇怪的事情,比如当我将鼠标悬停在我的下拉菜单上时,下拉菜单就会出现但很快当我尝试进入菜单项时,它消失了。有什么帮助吗? 不添加边距工作正常
  • @AlokKumarVerma 如果您想在按钮和下拉菜单之间创建一些空间,请尝试在li.nav-item.dropdown 中增加顶部和底部的填充。您的问题来了,因为您的下拉菜单超出了按钮的范围..
猜你喜欢
  • 1970-01-01
  • 2022-01-23
  • 1970-01-01
  • 2020-05-11
  • 2012-10-12
  • 1970-01-01
  • 2011-02-06
  • 2021-08-22
相关资源
最近更新 更多