1

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, what I want is to have the dropdown menu on the left side while the toggle button on the right after open it from mobile

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.