如何在引导程序 4 中隐藏和替换导航栏切换器图标



如何在引导 4 中隐藏和替换导航栏切换图标?现在下面的代码只是将"X"放在汉堡菜单下方。

<nav class="navbar navbar-toggleable-md">
  <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" 
  data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" 
  aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>
  <div class="collapse navbar-collapse" id="navbarsExampleDefault">
     <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" 
  data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" 
  aria-label="Toggle navigation">
    <span>X</span>
  </button>
</nav>

您现在拥有的代码有 2 个切换器,但我不确定为什么。您只需要将普通navbar-toggler-icon替换为 X。

<nav class="navbar navbar-faded navbar-toggleable-md">
    <button class="navbar-toggler navbar-toggler-right py-2" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
       <span>X</span>
    </button>
    <a href="" class="navbar-brand">Brand</a>
    <div class="collapse navbar-collapse" id="navbarsExampleDefault">
        <ul class="navbar-nav">
            <li><a href="">Link</a></li>
        </ul>
    </div>
</nav>

编辑 要在汉堡切换器图标和关闭的 X 之间切换,您需要在navbar-toggler内同时具有 X 和汉堡包图标。添加一些 CSS 来处理导航栏的collapsed状态。

.navbar-toggler>.close {
    display:inline;
}
.navbar-toggler.collapsed>.close, .navbar-toggler:not(.collapsed)>.navbar-toggler-icon {
    display:none;
}

http://www.codeply.com/go/fgHv33Q6UM


更新引导程序 4.2

最初的问题/答案是针对 Bootstrap 4 alpha 的。一旦 Bootstrap 4 处于测试阶段,navbar-toggleable-*类就会更改为影响导航栏断点的navbar-expand-*。以下是 Bootstrap 4.2 的更新示例...

https://www.codeply.com/go/9AQ4AsYUph

如果关闭按钮出现在开头,请尝试此按钮

.HTML

<nav class="navbar navbar-light bg-faded navbar-toggleable-md">
    <button class="navbar-toggler navbar-toggler-right collapsed" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
       <span class="my-1 mx-2 close">X</span>
       <span class="navbar-toggler-icon"></span>
    </button>
    <a href="" class="navbar-brand">Brand</a>
    <div class="collapse navbar-collapse" id="navbarsExampleDefault">
        <ul class="navbar-nav">
            <li class="nav-item"><a href="" class="nav-link">Link</a></li>
            <li class="nav-item"><a href="" class="nav-link">Link</a></li>
            <li class="nav-item"><a href="" class="nav-link">Link</a></li>
        </ul>
    </div>
</nav>

.CSS

.navbar{
  button[aria-expanded="true"] > span.close {
    display: inline;
    color: #fff;
    opacity: 1;
  }
  button[aria-expanded="true"] > span.navbar-toggler-icon {
    display: none;
  }
  button[aria-expanded="false"] > span.close {
    display: none;
  }
}

最新更新