Why my Bootstrap 4.6 pills and tabs are not working properly?

Viewed 657

I have standard navigations tabs using pills as nav using Bootstrap 4.6. The second pill shows its related tab correctly, but when I try to go back to the first tab it doesn't work anymore. I've read the documentation. It must be something simple.

My HTML:

<div class="row pt-5">
<div class="col-md-3 col-12 areaMenu">
  <div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist" aria-orientation="vertical">
    <div class="row">
      <a class="nav-link active btn-secondary btn-lg btn-block rounded-0 col-6 col-md-12" id="v-pills-activacion-tab" data-toggle="pill" href="#v-pills-activacion" role="tab" aria-controls="v-pills-activacion" aria-selected="true">Activación</a>
      <a class="nav-link btn-secondary btn-lg btn-block rounded-0 mt-0 col-6 col-md-12" id="v-pills-programados-tab" data-toggle="pill" href="#v-pills-programados" role="tab" aria-controls="v-pills-programados" aria-selected="false">Programados</a>
    </div>
  </div>
</div>
<div class="col-md-8 col-12 areaContenido">
  <div class="tab-content" id="v-pills-tabContent">
    <div class="tab-pane fade show active" id="v-pills-activacion" role="tabpanel" aria-labelledby="v-pills-activacion-tab">
      <h1>Activación</h1>
    </div>
    <div class="tab-pane fade" id="v-pills-programados" role="tabpanel" aria-labelledby="v-pills-programados-tab">
      <span class="float-left font-weight-normal">
        <h5>Elija una fecha</h5>
      </span>
    </div>
  </div>
</div>
2 Answers

To make it work I had to reallocate the nav pill inside a ul element. Bootstrap documentation doesn't mention that it's mandatory to do so.

What's strange to me is that the following example works in the 4.0 alpha version of bootstrap, but not in latest version of bootstrap 4 (i.e. 4.6)

<div class="row">
    <div class="col m-2 p-4 white-background shadow">
        <ul class="nav nav-pills mb-3" id="pills-tab" role="tablist">
            <li class="nav-item">
                 <a class="nav-link active" id="pills-home-tab" data-toggle="pill" href="#pills-home" role="tab" aria-controls="pills-home" aria-selected="true">A</a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#pills-profile" role="tab" aria-controls="pills-profile" aria-selected="false">B</a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" id="pills-contact-tab" data-toggle="pill" href="#pills-contact" role="tab" aria-controls="pills-contact" aria-selected="false">C</a>
                    </li>
                </ul>
            
        <div class="tab-content" id="pills-tabContent">
          <div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">Content A</div>
          <div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">Content B</div>
          <div class="tab-pane fade" id="pills-contact" role="tabpanel" aria-labelledby="pills-contact-tab">Content C</div>
        </div>
    </div>
</div>

Any ideas?

Related