【问题标题】:Bootstrap Navbar, background to only be on the right and not the entire widthBootstrap Navbar,背景仅在右侧而不是整个宽度
【发布时间】:2022-02-01 23:05:49
【问题描述】:

使用引导程序的导航栏,我只使用右侧的下拉切换器图标。我想要一个宽度只覆盖右侧部分而不是整个宽度的背景。任何见解将不胜感激。

尝试 1 和 2:

试图得到:

.menu {
  font-family: header;
  color: white !important;
  font-size: 3rem;
  background-color: rgba(0, 0, 0, 0.3);
}

.menu-bg {
  background-color: rgba(0, 0, 0, 0.3);
}

body {
  background: #333 !important;
}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">

<nav class="navbar navbar-dark fixed-top pt-md-5 pe-md-5 pt-2 pe-2">
  <div class="container-fluid">
    <button class="navbar-toggler ms-auto custom-toggler menu collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span> MENU
    </button>

    <div class="collapse navbar-collapse menu-items" id="navbarSupportedContent">
      <ul class="navbar-nav ms-auto mb-2 mb-lg-0 menu-bg">
        <li class="nav-item ms-auto">
          <a class="nav-link pe-3" href="#features">FEATURES</a>
        </li>
        <li class="nav-item ms-auto">
          <a class="nav-link pe-3" href="#counter">SHARK COUNTER</a>
        </li>
        <li class="nav-item ms-auto">
          <a class="nav-link pe-3" href="#about">ABOUT US</a>
        </li>
        <li class="nav-item ms-auto">
          <a class="nav-link pe-3" href="#faq">FAQ</a>
        </li>
        <li class="nav-item ms-auto">
          <a class="nav-link pe-3 rounded-bottom" href="#">BACK TO TOP</a>
        </li>
      </ul>
    </div>
  </div>
</nav>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>

【问题讨论】:

  • 似乎或多或少如您所愿。更新后的演示是否显示了问题?

标签: html css bootstrap-5


【解决方案1】:

请尝试

.menu-bg {
    width: 250px;
}

【讨论】:

  • 请不要拉皮条你的答案。
【解决方案2】:

这是一个工作示例。要点是使用position:absolute 并将宽度设置为下拉,以便它会粘在右边。

.menu {
font-family: header;
color: white !important;
font-size: 3rem;
background-color: rgba(0, 0, 0, 0.3);
}

.menu-bg {
    background-color: rgba(0, 0, 0, 0.3);
}
#navbarSupportedContent {
  width:150px;
  position: absolute;
  right:0px;
  top:100%;
}

.dropdown-wrap {
  position: relative;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>

<nav class="navbar navbar-dark fixed-top pt-md-5 pe-md-5 pt-2 pe-2">
  <div class="container-fluid">
    <div class="row">
      <div class="col-xs-10"></div>
      <div class="col-xs-2 dropdown-wrap">
        <button class="navbar-toggler ms-auto custom-toggler menu collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span> MENU
        </button>
        <div class="collapse navbar-collapse menu-items" id="navbarSupportedContent">
          <ul class="navbar-nav ms-auto mb-2 mb-lg-0 menu-bg">
            <li class="nav-item ms-auto">
              <a class="nav-link pe-3" href="#features">FEATURES</a>
            </li>
            <li class="nav-item ms-auto">
              <a class="nav-link pe-3" href="#counter">SHARK COUNTER</a>
            </li>
            <li class="nav-item ms-auto">
              <a class="nav-link pe-3" href="#about">ABOUT US</a>
            </li>
            <li class="nav-item ms-auto">
              <a class="nav-link pe-3" href="#faq">FAQ</a>
            </li>
            <li class="nav-item ms-auto">
              <a class="nav-link pe-3 rounded-bottom" href="#">BACK TO TOP</a>
            </li>
          </ul>
        </div>
      </div>
    </div>
  </div>
</nav>

工作JSfiddle

【讨论】:

  • 您正在加载 Bootstrap 3 CSS 和 Bootstrap 5 JS。这似乎不明智。
  • 出于某种原因,这会将我的切换器移到左侧。有什么线索吗?但除此之外它工作得很好。我猜它与那个 js 5 + 3 css 有关。试着玩弄 cols 什么的,不能把它移回来
  • @DarylLim 我认为我在引导版本上犯了一个错误,但是您能否单独使用position: absoluteposition:relative 技巧来解决您的问题,除了其他代码更改无关紧要
【解决方案3】:

仅:

.menu-bg {
    background-color: rgba(0, 0, 0, 0.3);
    display: inline-block;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    • 2018-03-11
    • 1970-01-01
    • 2013-07-15
    • 1970-01-01
    相关资源
    最近更新 更多