html - Bootstrap 类 dropdown-menu dropdown-menu-right 不适用于自定义子菜单

标签 html css twitter-bootstrap drop-down-menu alignment

关于我之前的问题 ( Dropdown submenu on bootstrap is not working ) 我目前正在为 li 下拉菜单的子菜单构建子菜单。所以这意味着它是嵌套的。在银行菜单下有交易下拉菜单,在交易下拉菜单下面有一个用于不同类型交易的菜单。 顺便说一下,我已经成功创建了它,但是在悬停期间“交易”模块的子菜单出现在交易菜单的前面,阻止了作为交易的父菜单。我怎样才能避免它并在悬停时将它放在交易菜单的右侧?无论如何,我已经完成了使用“下拉菜单 dropdown-menu-right”,但它并没有改变程序的输出。我认为我的 CSS 有问题。

HTML 代码:

    <li class='dropdown'><a id = 'dLabel' class='dropdown-toggle active' data-toggle='dropdown' href='#'><img src = 'images/forbank.png' height = 35 width = 35>Banking<span class='caret'></span></a>
        <ul class='dropdown-menu' role='menu' aria-labelledby='dropdownMenu'>
            <li class = 'dropdown-submenu'>
            <a  tabindex = '-1' href='#'><span class = 'glyphicon glyphicon-cog'> </span>  Transaction </a>
                <ul class='dropdown-menu dropdown-menu-right' aria-labelledby='dLabel'>
                    <li><a tabindex='-1' href='#'> Withdrawal / Deposit </a></li>
                    <li><a tabindex='-1' href='#'> Fixed Deposit </a></li>
                </ul>
            </li>
            <li role='separator' class='divider'></li>
            <li><a href='#'><span class='glyphicon glyphicon-list-alt'> </span> Summaries </a></li>
            <li><a href='#'><span class='glyphicon glyphicon-wrench'> </span>  Settings </a></li>
        </ul>
    </li>

CSS 代码:

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu>.dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: -1px;
    -webkit-border-radius: 0 6px 6px 6px;
    -moz-border-radius: 0 6px 6px;
    border-radius: 0 6px 6px 6px;
}

.dropdown-submenu:hover>.dropdown-menu {
    display: block;
}

.dropdown-submenu>a:after {
    display: block;
    content: " ";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #ccc;
    margin-top: 5px;
    margin-right: -10px;
}

.dropdown-submenu:hover>a:after {
    border-left-color: #fff;
}

.dropdown-submenu.pull-left {
    float: none;
}

.dropdown-submenu.pull-left>.dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
}

最佳答案

对于将来偶然发现此问题的任何人。引用https://github.com/twbs/bootstrap/issues/23553 .

似乎 bootstrap4 的 dropdown-menu-right 在导航栏之外不起作用。 Jipexu 的 hack 对我有用:

.dropdown-menu-right {
    right: 0;
    left: auto;
}

关于html - Bootstrap 类 dropdown-menu dropdown-menu-right 不适用于自定义子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31237366/

相关文章:

html - float 列表项占据特定宽度

html - CSS 中的垂直对齐位置为 : absolute

javascript - Bootstrap 下拉列表 - 从 span 打开

html - 移动设备上的固定导航栏

javascript - 将选择的数据保存到 kendoMultiSelect 中的 knockout 变量中

asp.net - 为什么这个按钮不会导致三重回发?

javascript - 我如何制作一个默认不切换的菜单

css - 纯 CSS slider 在最后一张幻灯片上返回空白图像

html - CSS body 固定背景

css - 我应该使用 vh 还是 vw 作为响应单位?