【问题标题】:Is there a way to reduce the width of a Bootstrap Vue nav item dropdown?有没有办法减少 Bootstrap Vue 导航项下拉菜单的宽度?
【发布时间】:2019-11-15 02:28:50
【问题描述】:

我有一个用 bootstrap vue 制作的导航栏。在“语言”部分,我希望它只显示标志,但标志后有太多空间,有没有办法可以减少那个“盒子”的宽度?我试图在 b-nav-item-dropdown 中放置一些 CSS,但这只会弄乱整个导航栏。这是我的代码:

<div class="my-bg">
    <b-navbar toggleable="lg" fixed class="mx-5 navbar-mine">
        <div class="d-flex align-items-center justify-content-between">
            <b-navbar-toggle target="nav-collapse" class="navbar-toggler navbar-toggler-left" style="background-color:white"></b-navbar-toggle>

            <b-navbar-brand href="#" class="ml-5">
                 <b-img fluid src="/img/logo/Logo.png" width="220" height="110" class="mt-4 logo-mine"></b-img>
                    </b-navbar-brand>
                </div>


                <b-collapse id="nav-collapse" is-nav>

                    <b-navbar-nav class="ml-auto nav-items-mine">
                    <b-nav-item href="#">SERVICES</b-nav-item>
                        <b-nav-item href="#"  class="my-nav-link">CONTACT</b-nav-item>
                        <b-nav-item-dropdown text="LANGUAGE" class="lang-box" right>
                            <b-dropdown-item href="#"> <span class="flag-icon flag-icon-es align-middle"></span></b-dropdown-item>
                            <b-dropdown-item href="#"><span class="flag-icon flag-icon-us"></span></b-dropdown-item>
                        </b-nav-item-dropdown>
                </b-collapse>
            </b-navbar>
            <br>
            </div>

CSS

 .navbar-toggler {
            align-self: inherit;
            position: initial;
        }

        /* Media query for collapse button */
        @media (max-width: 990px) {
        .my-bg{
            background-color: #000032;
        }

        .navbar .navbar-brand{
            min-height:100px;
        }
        }

        @media (min-width: 991px) {
        .my-bg{
            background-color: #000032;
            min-height: 50px;
            max-height: 60px;
        }    
        }

        .navbar .navbar-nav .nav-link{
            color:white!important;
        }

        .navbar .navbar-nav{
            margin-top: -20px;
        }

        .navbar .navbar-brand{
            margin-top: -25px;
        }

        .navbar .navbar-toggle {
        background-color:#FF0000 !important;
        }

        .navbar-mine{
            font-family:Gotham;
            font-size:12px;
        }

        /* noone of these options worked
        .lang-box{
            width:50px;
        }


        .navbar .navbar-nav .navbar-nav-item-dropdown .lang-box{
            width:50px;
        }
       */

很抱歉没有提供 sn-p,但每次我尝试编写 Bootstrap Vue sn-p 时它都无法正常工作

如果消息还不清楚,这是我想减少的事情

【问题讨论】:

    标签: javascript html css vue.js


    【解决方案1】:

    下拉菜单默认有一个最小宽度,导致额外空间。 使用 min-width: 0; 样式将类应用到道具 menu-class 会删除多余的间距。

    new Vue({
      el: '#app'
    })
    .minw-none {
      min-width: 0 !important;
    }
    <link href="https://unpkg.com/bootstrap@4.3.1/dist/css/bootstrap.min.css" rel="stylesheet"/>
    <link href="https://unpkg.com/bootstrap-vue@2.1.0/dist/bootstrap-vue.css" rel="stylesheet"/>
    
    <script src="https://unpkg.com/vue@2.6.10/dist/vue.min.js"></script>
    <script src="https://unpkg.com/bootstrap-vue@2.1.0/dist/bootstrap-vue.js"></script>
    
    <div id="app">
      <b-navbar type="light" variant="light">
        <b-navbar-brand href="#">NavBar</b-navbar-brand>
    
        <b-navbar-toggle target="nav-collapse"></b-navbar-toggle>
    
        <b-collapse id="nav-collapse" is-nav>
          <b-navbar-nav>
            <b-nav-item href="#">Link</b-nav-item>
            <b-nav-item href="#" disabled>Disabled</b-nav-item>
          </b-navbar-nav>
    
          <!-- Right aligned nav items -->
          <b-navbar-nav class="ml-auto">
            <b-nav-item-dropdown text="Lang" menu-class="minw-none" right>
              <b-dropdown-item href="#">EN</b-dropdown-item>
              <b-dropdown-item href="#">ES</b-dropdown-item>
              <b-dropdown-item href="#">RU</b-dropdown-item>
              <b-dropdown-item href="#">FA</b-dropdown-item>
            </b-nav-item-dropdown>
          </b-navbar-nav>
        </b-collapse>
      </b-navbar>
    </div>

    【讨论】:

      猜你喜欢
      • 2019-10-30
      • 2021-09-17
      • 1970-01-01
      • 1970-01-01
      • 2019-11-22
      • 2019-02-16
      • 1970-01-01
      • 2017-10-07
      相关资源
      最近更新 更多