有没有办法将 bootstrap 导航项目的下边框与导航栏的下边框对齐?我想使用底部边框来显示 Select 了哪个元素.使用导航栏的默认高度,我可以做到这一点.一旦我将height增加到80px,底部边框就不再对齐了.

bottom border not aligned

Html:

  <nav class="navbar navbar-expand-lg navbar-light bg-light">
    <a class="navbar-brand" href="#">Brand</a>
    <button
      class="navbar-toggler"
      type="button"
      data-toggle="collapse"
      data-target="#navbarNav"
      aria-controls="navbarNav"
      aria-expanded="false"
      aria-label="Toggle navigation"
    >
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarNav">
      <ul class="navbar-nav">
        <li class="nav-item">
          <a class="nav-link active" href="#"
            >Home<span class="sr-only">(current)</span></a
          >
          <div class="narrow-bar"></div>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Features</a>
          <div class="narrow-bar"></div>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Pricing</a>
          <div class="narrow-bar"></div>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled" href="#">Disabled</a>
          <div class="narrow-bar"></div>
        </li>
      </ul>
    </div>
  </nav>

和css:

     <style>
      .navbar {
        height: 80px;
        display: flex;
        align-items: center;
      }
      .navbar-nav {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
      }

      .navbar-nav .nav-link {
        border-bottom: 2px solid transparent;
        position: relative;
        text-align: center;
        width: 100%;
        height: 3rem;
      }

      .navbar-nav .nav-link.active::after {
        content: "";
        position: absolute;
        bottom: -2px;
        left: 0;
        right: 0;
        height: 2px;
        background-color: #007bff;
      }
    </style>

谢谢!!

推荐答案

您可以将.navbar-nav.nav-link.active::After(蓝条)的bottom css从-2px调整到-17px.(我还添加了navbar-expand-mdnavbar-expand-sm,以便您可以在我创建的包含您的代码的代码片段上看到打开的菜单).

.navbar {
  height: 80px;
  display: flex;
  align-items: center;
}

.navbar-nav {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.navbar-nav .nav-link {
  border-bottom: 2px solid transparent;
  position: relative;
  text-align: center;
  width: 100%;
  height: 3rem;
}

.navbar-nav .nav-link.active::after {
  content: "";
  position: absolute;
  bottom: -17px; /*adjust this*/
  left: 0;
  right: 0;
  height: 2px;
  background-color: #007bff;
}
<head>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
</head>

<body>
  <nav class="navbar navbar-expand-lg navbar-light bg-light navbar-expand-md navbar-expand-sm">
    <a class="navbar-brand" href="#">Brand</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarNav">
      <ul class="navbar-nav">
        <li class="nav-item">
          <a class="nav-link active" href="#">Home<span class="sr-only">(current)</span></a
          >
          <div class="narrow-bar"></div>
        </li>
       <li class="nav-item">
          <a class="nav-link" href="#">Features</a>
          <div class="narrow-bar"></div>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Pricing</a>
          <div class="narrow-bar"></div>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled" href="#">Disabled</a>
          <div class="narrow-bar"></div>
        </li>
      </ul>
    </div>
  </nav>
</body>

Html相关问答推荐

Vue.js复选框对齐问题:在表格单元格中居中复选框

我似乎不能正确地将我的导航栏居中'

创建具有圆锥渐变的水平CSS聚光灯

如何在css中将包含多行文本的多个p-tag放在一起(并排)?

页脚与主要内容重叠

调整一组IMG的大小以适应容器DIV

滚动两个不同高度的DIV;一个等待另一个

单独处理Button:Focus的多行按钮

try 更新我的Node.js应用程序中的用户,但我收到错误.然而,当我使用postman 时,更新工作正常

仅 Select 悬停的级别,而不 Select 其父级或子级

如何为卡片块制作侧丝带样式

使用简单的 HTML 设计公司徽标和文本

带有数据 URI 的音频在 Chrome 中失败

为什么即使我点击其他地方,我的 contenteditable="true" 也会被激活?

如何制作一个布局,其中左侧固定为图像,右侧为按钮,中心或中间位置为文本?

将 HTML 元素粘贴到容器底部,而不剪裁其顶部

如何动态调整彼此重叠的两个 div 的大小,使它们在增长时保持相同的高度

是否可以设置用户在联系表单中输入的文本字体的样式

CSS:如何在模糊的背景上剪切文本?

如何将图像高度设置为等于文本高度?