Bootstrap类下拉菜单下拉菜单右侧不适用于自定义子菜单

时间:2015-07-06 03:26:57

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

与我之前的问题相关(Dropdown submenu on bootstrap is not working) 我目前正在为li下拉列表的子菜单构建子菜单。所以这意味着它是嵌套的。在银行菜单下有交易下拉菜单,在交易下拉菜单下面有一个不同类型交易的菜单。 顺便说一句,我已经成功创建了它,但是"事务的子菜单"在悬停期间,模块显示在事务菜单的前面,阻止作为事务的父菜单。如何在悬停期间将其避开并将其置于交易菜单的右侧?无论如何,我已经使用"下拉菜单下拉菜单 - 右键"但它不会改变程序的输出。我认为我的CSS有问题。

HTML CODE:

    <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;
}

3 个答案:

答案 0 :(得分:8)

对于任何在将来偶然发现这一点的人。请参阅https://github.com/twbs/bootstrap/issues/23553

似乎bootstrap4的下拉菜单权限不在导航栏外工作。 Jipexu的黑客为我工作:

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

答案 1 :(得分:2)

试试这个css

/* dropdown open on right side of the menu*/
.dropdown-menu {
  top: 0;
  left: 100%;
}

答案 2 :(得分:0)

我尝试对上述Siddharth Garg答案进行一些细微改动。

<div class="dropdown-menu dropdown-menu-right">

.dropdown-menu-right {
    padding-left: 10px;
}

这有效并且允许我设置填充。