Bootstrap 类 dropdown-menu dropdown-menu-right 不适用于自定义子菜单
Posted
技术标签:
【中文标题】Bootstrap 类 dropdown-menu dropdown-menu-right 不适用于自定义子菜单【英文标题】:Bootstrap class dropdown-menu dropdown-menu-right is not working on self-defined sub-menu's 【发布时间】:2015-09-23 02:22:54 【问题描述】:与我之前的问题有关 (Dropdown submenu on bootstrap is not working) 我目前正在为 li 下拉菜单的子菜单构建子菜单。所以这意味着它是嵌套的。在银行菜单下有交易下拉菜单,在交易下拉菜单下有不同类型交易的菜单。 顺便说一句,我已经成功创建了它,但是“事务”模块的子菜单在悬停期间出现在事务菜单的前面,阻止了作为事务的父菜单。在悬停期间如何避免它并将其放置在交易菜单的右侧?无论如何,我已经使用“dropdown-menu 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;
【问题讨论】:
【参考方案1】:我尝试对上述 Siddharth Garg 的回答稍作改动。
<div class="dropdown-menu dropdown-menu-right">
.dropdown-menu-right
padding-left: 10px;
这可行,并允许我设置填充。
【讨论】:
【参考方案2】:对于将来偶然发现这一点的任何人。请参阅https://github.com/twbs/bootstrap/issues/23553。
似乎 bootstrap4 的下拉菜单右键在导航栏之外不起作用。 Jipexu 的 hack 对我有用:
.dropdown-menu-right
right: 0;
left: auto;
【讨论】:
为什么没有被接受?效果非常好。【参考方案3】:试试这个css
/* dropdown open on right side of the menu*/
.dropdown-menu
top: 0;
left: 100%;
【讨论】:
以上是关于Bootstrap 类 dropdown-menu dropdown-menu-right 不适用于自定义子菜单的主要内容,如果未能解决你的问题,请参考以下文章