【问题标题】:Bootstrap Mobile Menu Dropdown displays as Desktop versionBootstrap 移动菜单下拉菜单显示为桌面版本
【发布时间】:2018-11-15 14:07:09
【问题描述】:

我正在使用 OctoberCMSBootstrap 菜单。

当浏览器缩小到移动时,下拉菜单仍显示为桌面气泡。

它应该像在它们的 website 上一样显示,它成行堆叠。


JS 小提琴

https://jsfiddle.net/Ldm1p63r/

我已将问题缩小为由 javascript 从 <li class="dropdown "> 添加/删除的 open 类。


HTML 菜单

<nav id="layout-nav" class="navbar navbar-inverse navbar-fixed-top navbar-autohide" role="navigation">
    <div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
        </div>

        <div class="collapse navbar-collapse">

            <ul class="nav navbar-nav navbar-left">
                <li class="active">
                    <a href="#">Home</a>
                </li>

                <li>
                    <a href="#">About</a>
                </li>

                <li class="dropdown ">
                    <a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown">
                      Blog <i class="icon-chevron-down"></i>
                    </a>
                    <ul class="dropdown-menu">
                        <li class="dropdown-item">
                            <a href="#">Category 1</a>
                        </li>
                        <li class="dropdown-item">
                            <a href="#">Category 2</a>
                        </li>
                        <li class="dropdown-item">
                            <a href="#">Category 3</a>
                        </li>  
                    </ul>
                </li>

                <li>
                    <a href="#">Contact</a>
                </li>
            </ul>

        </div>
    </div>
</nav>

CSS

例如,我正在应用 OctoberCMS css 主题来设置菜单样式。

https://octobercms.com/themes/website/assets/css/theme.css


JS

https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/js/bootstrap.js

更新:OctoberCMS 也可能正在使用这些文件https://github.com/rainlab/vanilla-theme/tree/master/assets/vendor/bootstrap/js

【问题讨论】:

    标签: javascript html css twitter-bootstrap octobercms


    【解决方案1】:

    我只是在他们的网站上添加了相同的 css,只是在你的小提琴中似乎使用了 show 类而不是 open 作为类选择器。

    js fiddle solution

    CSS

    @media (max-width: 767px) {
      .navbar-nav .show .dropdown-menu {
        position: static;
        float: none;
        width: auto;
        margin-top: 0;
        background-color: transparent;
        border: 0;
        box-shadow: none;
      }
    }
    

    【讨论】:

    • 我发现的另一个问题是 Bootstrap JS 应该在 html 中切换该类,但失败了。这是因为 HTML 菜单使用 Bootstrap 版本3.3.7,而我使用的是4.1.1。我还删除了 10 月 /vendor 目录中包含的 Bootstrap 文件,并使用了 cdnjs 中的一个文件,它解决了网站上的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    • 2017-12-25
    • 1970-01-01
    • 2016-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多