'Vuejs + bootstrap navbar is not responsive

I am new to Vuejs and currently building a new website by Nuxtjs, built the navbar successfully but when opening it from a mobile it is not responsive at all.

i want to have something like this

but what I'm getting is this:

my local result

the code is as following:

.dropdown-menu {
text-decoration: none !important;
   background-color: transparent;
  background: transparent !important;
   border-color: transparent !important;
}
.navbar  {
  text-decoration: none !important;
   background-color: transparent !important;
  background: transparent !important;
   border-color: transparent !important;
}
.navbar-toggler{
    border: 0 !important;
    -webkit-box-shadow: none !important;
    box-shadow: none  !important;
   float: right !important;
   margin-left: 10rem !important;
}
.navbar-collapse{
margin-left: 285px !important;
}
.navbar-toggler-icon{
    margin-left: 5rem !important;
}
.nav-item:hover:after{
  border-top-color: 10px grey solid !important;
}
a:hover {
  box-shadow: 0 -3px grey;
}

@media screen and (max-width: 992px) {
  .navbar-collapse{
margin-left: -110px !important;
margin-top: 10px;
}

.navbar  {
  text-decoration: none !important;
   background-color: transparent !important;
  background: transparent !important;
   border-color: transparent !important;
}
.navbar-toggler{
    border: 0 !important;
    -webkit-box-shadow: none !important;
    box-shadow: none  !important;
   float: left !important;
   /* margin-left: 10rem !important; */
}
}
            <b-navbar toggleable="lg" type="dark" variant="info" class="fusion-main-menmenu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-766 fusion-megamenu-menu">
              <b-navbar-toggle target="nav-collapse" />
              <div>
                <b-collapse id="nav-collapse" is-nav>
                  <b-navbar-nav
                    class="ml-auto"
                  >
                    <template
                      v-for="menu in menusDef['MAIN']['items']"
                    >
                      <!-- SINGLE ITEM -->
                      <b-nav-item
                        v-if="menu.children.length==0"
                        id="dropdown-1"
                        :key="menu.menu.menui_id"
                        :href="menu.menu.menui_url"
                        :target="menu.menu.menui_target"
                        class="
                      navbar
                      dropdown
                      menu-item
                      menu-item-type-custom
                      menu-item-object-custom
                      menu-item-
                    "
                        style=" text-decoration: none !important;
   background-color: transparent !important;
  background: transparent !important;
   border-color: transparent !important;
"
                      >
                        {{ menu.menu.menui_title }}
                      </b-nav-item>

                      <!-- DROPDOWN -->
                      <b-nav-item-dropdown
                        v-if="menu.children.length>0"
                        :id="'dropdown-'+menu.menu.menui_id"
                        :key="menu.menu.menui_id"
                        :ref="'dropdown-'+menu.menu.menui_id"
                        text="Dropdown Button"
                        :href="menu.menu.menui_url"
                        :target="menu.menu.menui_target"
                        class="
                        navbar
                        dropdown
                        menu-item
                        menu-item-type-custom
                        menu-item-object-custom
                        menu-item-
                      "
                        style="
   background-color: transparent;
   border-color: transparent !important;"
                        no-caret
                      >
                        <template
                          #button-content
                        >
                          <span
                            class="menu-text"
                          >{{ menu.menu.menui_title }}</span>
                        </template>
                        <b-dropdown-item
                          v-for="cmenu in menu.children"
                          :id="'menu-item-'+cmenu.menu.menui_id"
                          :key="cmenu.menu.menui_id"
                          :href="cmenu.menu.menui_url"
                          no-caret
                          style="
                          background-color: transparent !important;
                          background: transparent !important;
                          border-color: transparent !important;"
                        >
                          <span class="" @click="scrollTo($event, cmenu.menu.menui_url)">{{ cmenu.menu.menui_title }}</span>
                        </b-dropdown-item>
                      </b-nav-item-dropdown>
                    </template>
                  </b-navbar-nav>
                </b-collapse>
              </div>
            </b-navbar>
          </div>

          <b-navbar toggleable type="dark" variant="dark" style="display:none;">
            <b-navbar-toggle target="navbar-toggle-collapse">
              <b-navbar
                toggleable="lg"
                type="dark"
                variant="dark"
                aria-label="Main Menu"
                style="overflow: visible"
              >
                <ul
                  v-if="menusDef['MAIN']!=undefined"
                  id="menu-mainnav"
                  class="fusion-menu"
                >
                  <li
                    v-for="menu in menusDef['MAIN']['items']"
                    :id="'menu-item-'+menu.menu.menui_id"
                    :key="menu.menu.menui_id"
                    class="
                  menu-item
                  menu-item-type-custom
                  menu-item-object-custom
                  menu-item-
                "
                    :data-item-id="menu.menu.menui_id"
                  >
                    <!--                 <pre>{{ menu }}</pre> -->
                    <NuxtLink
                      v-if="menu.menu.menui_type=='Internal'"
                      :to="menu.menu.menui_url"
                      :target="menu.menu.menui_target"
                      class="fusion-bar-highlight"
                    >
                      <span class="menu-text">{{ menu.menu.menui_title }}</span>
                    </NuxtLink>

                    <a
                      v-if="menu.menu.menui_type=='External'"
                      :href="menu.menu.menui_url"
                      :target="menu.menu.menui_target"
                      class="fusion-bar-highlight menu-text"
                    ><span class="menu-text">{{ menu.menu.menui_title }}</span>
                    </a>

                    <div
                      v-if="menu.children.length>0"
                      class="
                    fusion-megamenu-wrapper fusion-columns-2
                    columns-per-row-2 columns-2
                    col-span-4
                  "
                    >
                      <div v-if="menu.children.length<=6" class="row">
                        <div
                          class="fusion-megamenu-holder"
                          style="min-width: 140px"
                        >
                          <ul class="fusion-megamenu">
                            <li
                              id="menu-item-1167"
                              class="
                            menu-item
                            menu-item-type-custom
                            menu-item-object-custom
                            menu-item-has-children
                            fusion-megamenu-submenu
                            fusion-megamenu-submenu-notitle
                            fusion-megamenu-columns-1
                            col-lg-12 col-md-12 col-sm-12
                         "
                              style="width: 100%"
                            >
                              <ul class="sub-menu">
                                <li
                                  v-for="cmenu in menu.children"
                                  :id="'menu-item-'+cmenu.menu.menui_id"
                                  :key="cmenu.menu.menui_id"
                                  class="
                                menu-item
                                menu-item-type-custom
                                menu-item-object-custom
                                menu-item-822
                              "
                                  :data-item-id="cmenu.menu.menui_id"
                                >
                                  <NuxtLink
                                    :to="cmenu.menu.menui_url"
                                    class="fusion-bar-highlight"
                                  >
                                    <span class="" @click="scrollTo($event, cmenu.menu.menui_url)">{{ cmenu.menu.menui_title }}</span>
                                  </NuxtLink>
                                </li>
                              </ul>
                            </li>
                          </ul>
                        </div>
                      </div>
                      <div v-if="menu.children.length>6" class="row">
                        <div class="fusion-megamenu-holder" style="width: 315.109px;" data-width="315.12px">
                          <ul
                            class="fusion-megamenu
                          fusion-mobile-nav-item"
                          >
                            <li
                              id="menu-item-1014"
                              class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-1014 fusion-megamenu-submenu fusion-megamenu-submenu-notitle fusion-megamenu-columns-2 col-lg-6 col-md-6 col-sm-6"
                              style="width:50%;"
                            >
                              <ul class="sub-menu">
                                <li
                                  v-for="cmenu in JSON.parse(JSON.stringify(menu.children)).splice(0, Math.ceil(menu.children.length/2))"
                                  :id="'menu-item-'+cmenu.menu.menui_id"
                                  :key="cmenu.menu.menui_id"
                                  class="
                                menu-item
                                menu-item-type-custom
                                menu-item-object-custom
                                menu-item-822
                              "
                                  :data-item-id="cmenu.menu.menui_id"
                                >
                                  <NuxtLink
                                    :to="cmenu.menu.menui_url"
                                    class="fusion-bar-highlight"
                                  >
                                    <span class="">{{ cmenu.menu.menui_title }}</span>
                                  </NuxtLink>
                                </li>
                              </ul>
                            </li>
                            <li
                              id="menu-item-1015"
                              class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-1015 fusion-megamenu-submenu fusion-megamenu-submenu-notitle fusion-megamenu-columns-2 col-lg-6 col-md-6 col-sm-6"
                              style="width:50%;"
                            >
                              <ul class="sub-menu">
                                <li
                                  v-for="cmenu in JSON.parse(JSON.stringify(menu.children)).splice(Math.ceil(menu.children.length/2),menu.children.length)"
                                  :id="'menu-item-'+cmenu.menu.menui_id"
                                  :key="cmenu.menu.menui_id"
                                  class="
                                menu-item
                                menu-item-type-custom
                                menu-item-object-custom
                                menu-item-822
                              "
                                  :data-item-id="cmenu.menu.menui_id"
                                >
                                  <NuxtLink
                                    :to="cmenu.menu.menui_url"
                                    class="fusion-bar-highlight"
                                  >
                                    <span class="">{{ cmenu.menu.menui_title }}</span>
                                  </NuxtLink>
                                </li>
                              </ul>
                            </li>
                          </ul>
                        </div>
                        <div style="clear:both;" />
                      </div>
                    </div>
                  </li>
                </ul>
              </b-navbar>
              <div class="fusion-mobile-menu-icons" />
            </b-navbar-toggle>
          </b-navbar>

please note that this is not the complete code since the project is huge



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source