【问题标题】:how to add scrollbar for a dropdown inside the fixed navbar如何为固定导航栏中的下拉菜单添加滚动条
【发布时间】:2014-06-02 22:30:52
【问题描述】:

我在我的网站中使用导航栏(引导程序 3)作为主导航菜单,并且我有几个下拉菜单(其中一些填充了固定数据,一些数据来自数据库),我想要每个下拉菜单中都有一个 Y 滚动条,因此当用户单击 drondown 时,无需更改导航栏中的任何内容,它会显示有限的数据,并能够滚动查看其余部分

非常感谢所有想法。 这是我的代码:

  <nav class="navbar navbar-inverse" role="navigation">
  <div class="collapse navbar-collapse navbar-ex1-collapse" >
        <ul class="nav navbar-nav">
            @if (Html.HasAssetContext())
            {
                <li><a href="@Url.Action("Index", Html.HasAssetContext() ? "Asset" : "Home")"><i class="icon-home"></i></a></li>
            }
            @if (Html.HasPermission(Category.SEARCH) && (Html.HasCompanyContext() || Html.IsClient()))
            {
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-search"></i>Search <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        @Html.MenuLink("Systems", "Index", "System")
                        @Html.MenuLink("Machines", "Index", "Machine")
                        @Html.MenuLink("Components", "Index", "Component")
                        @Html.MenuLink("Exceptions", "Index", "Exception")
                    </ul>
                </li>
            }
            @if (Html.HasPermission(Category.ORDER) && Html.OrderModuleEnabled())
            {
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-briefcase"></i>Order <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        @Html.MenuLink("Customers", "Customers", "Order")
                        @Html.MenuLink("Machine Orders", "MachineOrders", "Order")
                    </ul>
                </li>
            }
            @if (Html.HasAssetContext())
            {
                if (Html.HasPermission(Category.REPORT))
                {
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-file-text"></i>Report <b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            @Html.MenuLink("Exception Charts", "Index", "Chart")
                            <li class="divider"></li>
                            @Html.MenuLink("PM Compliance By Machine", "MachinePmCompliance", "Report")
                            @Html.MenuLink("PM Compliance By Component", "ComponentPmCompliance", "Report")
                            <li class="divider"></li>
                            @Html.MenuLink("MTBE By Machine", "MachineMeanTimeBetweenException", "Report")
                            @Html.MenuLink("MTBE By Component", "ComponentMeanTimeBetweenException", "Report")
                            <li class="divider"></li>
                            @Html.MenuLink("Cost Benefit Analysis", "CostAnalysis", "Report")
                            @Html.MenuLink("Asset Hierarchy", "AssetHierarchy", "Report")
                        </ul>
                    </li>
                }
                if (Html.HasPermission(Category.DOCUMENT))
                {
                    <li><a href="@Url.Action("Documents", "Document")"><i class="icon-file"></i>Documents</a></li>
                }
                if (Html.HasPermission(Category.DATA_ENTRY))
                {
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-list"></i>Data <b class="caret"></b></a>
                        <ul class="dropdown-menu">
                            @Html.MenuLink("Identification Reports", "IdentificationReports", "Report")
                            @Html.MenuLink("Component Checklist", "ComponentChecklist", "Data")
                            @Html.MenuLink("Manage Engineers", "Engineers", "Data")
                        </ul>
                    </li>
                }
            }
            @if (Html.HasCompanyContext() || Html.IsClient())
            {
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-anchor"></i>Assets <b class="caret"></b></a>
                    @Html.AssetMenuLinks()
                </li>
            }
            @if (Html.HasPermission(Category.SELECT_COMPANY))
            {
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-building"></i>Companies <b class="caret"></b></a>
                    @Html.CompanyMenuLinks()
                </li>
            }
            @if (Html.HasPermission(Category.ADMINISTRATION))
            {
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-cog"></i>Admin <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        @Html.MenuLink("Companies", "Companies", "Administration")
                        @Html.MenuLink("Assets", "Assets", "Administration")
                        @Html.MenuLink("Users", "Users", "Administration")
                        <li class="divider"></li>
                        @Html.MenuLink("Applications", "Applications", "Administration")
                        @Html.MenuLink("Bearings", "Bearings", "Administration")
                        @Html.MenuLink("Departments", "Departments", "Administration")
                        @Html.MenuLink("Environments", "Environments", "Administration")
                        @Html.MenuLink("Faults", "Faults", "Administration")
                        @Html.MenuLink("Manufacturers", "Manufacturers", "Administration")
                        @Html.MenuLink("Severities", "Severities", "Administration")
                        @Html.MenuLink("Techniques", "Techniques", "Administration")
                        @Html.MenuLink("Templates", "Templates", "Administration")
                        @Html.MenuLink("Work Order Statuses", "WorkOrderStatuses", "Administration")
                        <li class="divider"></li>
                        @Html.MenuLink("Import Data", "ImportData", "Administration")
                        @Html.MenuLink("Audit History", "AuditHistory", "Administration")
                    </ul>
                </li>
            }
            @if (!Html.IsClient())
            {
                <li><a href="@Url.Action("Index", "Info")"><i class="icon-info"></i>Info</a></li>
            }
        </ul>
           </div>
</nav>

【问题讨论】:

  • 听起来你应该覆盖引导 div 的行为。您应该在引导程序的 css 之后加载自定义 .css 文件。您参考了正确的 div (对不起,我对引导程序不太熟悉)并为其设置了固定高度。还要确保通过在同一 div 上设置 overflow-y:scroll; 来激活滚动。

标签: css twitter-bootstrap drop-down-menu scroll


【解决方案1】:

正如我在评论中所说,在引导程序之后导入一个自定义 css 文件并尝试以下操作:

.dropdown-menu {
  max-height:150px;
  overflow-y:scroll;
}

【讨论】:

  • 非常感谢,但我已经做到了,问题是当我覆盖它的行为时,我的导航栏的整个结构都被破坏了!
  • 下拉菜单在 narvar 内打开(运行导航栏高度),而不是像往常一样用滚动条淹没
  • 谢谢罗伊,我发现我做错了你的解决方案是完全正确的,我添加了 max-height:150px;溢出-y:滚动;进入 bootstrap.min.css 文件,它工作得很好(经过几次缓存清除!)
  • @Ghazaal:很高兴知道它对你有用。因此,您将自定义规则添加到 bootstrap.css 文件的末尾,这完全没问题。我更喜欢单独的自定义 CSS 定义的原因是它可以在更新到下一个版本的引导程序后继续存在。这是所有库的常见做法。
猜你喜欢
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-15
  • 1970-01-01
  • 1970-01-01
  • 2017-05-06
相关资源
最近更新 更多