导航栏链接的悬停框问题

Issue with hover boxes for navbar links

我对网络开发还很陌生。

我使用 Bootstrap 创建了一个导航栏,并在 link 中添加了一个 :hover。我还给悬停框一个颜色,并把角弄圆了。

当我将鼠标悬停在 link 上时,方框会转动(如预期的那样)。问题是当我将鼠标悬停在 link 上时,它会变回一个框。我试图寻找答案,但没有找到答案。

我只希望每个 link 的容器大小相同,并且在悬停在 link 上和悬停时保持圆形。

我会尝试添加我的代码,这样你们都能看到我在做什么。

这是我的 HTML 代码:

<body>
  <!-- Navbar -->
    <nav class="navbar navbar-expand-lg py-4 navbar-dark" style="background-color: #000000;">
        <div class="container-fluid">
          <a class="navbar-brand mb-0 h1 text-white fs-1 px-4" href="#">Name</a>
          <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
          </button>
          <div class="collapse navbar-collapse" id="navbarNavAltMarkup">
            <div class="navbar-nav ms-auto px-4">
              <a class="nav-link active text-light fs-5 mx-2 nav-active" aria-current="page" href="#">Home</a>
              <a class="nav-link text-secondary fs-5 mx-3" href="#">Link 1</a>
              <a class="nav-link text-secondary fs-5 mx-3" href="#">Link 2</a>
              <a class="nav-link text-secondary fs-5 mx-3" href="#">Link 3</a>
              <a class="nav-link text-secondary fs-5 mx-3" href="#">Link 4</a>
            </div>
          </div>
        </div>
      </nav>

这是我的 CSS 代码:

body {
    background-color: #252525;
}

.nav-link:hover {
    color: white;
    background-color: #48e0e4;
    border-radius: 30px;
    transition: 0.5s;
}

.nav-active {
    color: white;
    background-color: #48e0e4;
    border-radius: 30px;
    
}

这里有 link codepen 如果你需要的话: https://codepen.io/sevilu6/pen/gOmPoZr

我想我明白你在说什么。您只在悬停时应用 border-radius 。您还应该将它应用于没有任何伪元素的元素。

.nav-link {
border-radius: 30px;
}