将引导程序下拉更改为水平向右

Posted

技术标签:

【中文标题】将引导程序下拉更改为水平向右【英文标题】:change bootstrap drop down to drop horizontal right 【发布时间】:2013-04-30 19:54:24 【问题描述】:

我有一个下拉菜单,可在其下方打开一排图标(见图 1,名称和图片已被删除以保护隐私)

我正在尝试使此菜单在选择子项的右侧打开,而不是在其下方(参见图 2,我想要获取的内容。图像将在下拉菜单的右侧打开,而不是在下方它)

我当前的代码是:

<div class="span4">      
        <div class="btn-group">
  <a class="btn btn-link dropdown-toggle" data-toggle="dropdown" href="#">
  <h3>Choose Child</h3>
  <img id="mainIcons" src="boyStudent.png" >
  <span class="caret"></span></a>
  <ul class="dropdown-menu">
    <li>
        <div class="btn-group">
      <a href="parent_homepage_2.html" style="text-align:center;" class="btn btn-link operationsButtons">
       <h5>A</h5>
       <img id="mainIcons" src="boyStudent.png" ></a>
       <a href="parent_homepage_2.html" style="text-align:center;" class="btn btn-link operationsButtons">
       <h5>J</h5>
       <img id="mainIcons" src="girlStudent.png" ></a>
     </div>
    </li> 
  </ul>

我尝试使用以下示例,这有助于将下拉菜单向左推 how to make twitter bootstrap submenu to open on the left side? 但我想不出一种方法来使用它来做我想做的事情

谢谢

【问题讨论】:

【参考方案1】:

这看起来怎么样:-

Demo

Demo2 下拉子菜单。

<div class="span4">
    <div class="btn-group"> <a class="btn btn-link dropdown-toggle" data-toggle="dropdown" href="#">
              <h3>Choose Child</h3>
              <img id="mainIcons" src="boyStudent.png" >
               <span class="right-caret right"></span>
         </a>

        <ul class="dropdown-menu rightMenu">
            <li>
                <div class="btn-group"> <a href="parent_homepage_2.html" style="text-align:center;" class="btn btn-link operationsButtons">
                   <h5>A</h5>
                   <img id="mainIcons" src="boyStudent.png" ></a>
 <a href="parent_homepage_2.html" style="text-align:center;" class="btn btn-link operationsButtons">
                   <h5>J</h5>
                   <img id="mainIcons" src="girlStudent.png" ></a>

                </div>
            </li>
        </ul>
    </div>

css

   .rightMenu 
    position:relative;
    float:right;

.right-caret 
    
    border-bottom: 4px solid transparent;
    border-top: 4px solid transparent;
    border-left: 4px solid #000000;
    display: inline-block;
    height: 0;
    opacity: 1;
    vertical-align: top;
    width: 0;
    

.right

    float:right;

【讨论】:

没问题...我很高兴这就是您要找的东西。【参考方案2】:

只需以这种方式将“pull-right”类添加到&lt;ul class="dropdown-menu"&gt;...

<li class="dropdown">
  <a class="dropdown-toggle" href="#">Link</a>
  <ul class="dropdown-menu pull-right">
     <li>...</li>
  </ul>
</li>

【讨论】:

这将使子菜单在下面仍然打开,只是右对齐。【参考方案3】:

我只是将这个类添加到dropdown-menu

.rightMenu 
    position:absolute;
    float:right;
    top: 0;
    left: 160px;

而且完美对齐。

【讨论】:

另外,如果您不知道宽度,可以使用left: 100% 效果很好!【参考方案4】:

对于那些将来可能会找到此页面的人,现在的官方方法是将.dropdown-menu-right 类添加到您的下拉列表中。

【讨论】:

这是不正确的。 .dropdown-menu-right 使下拉菜单的右边缘与按钮的右边缘对齐。它不会将下拉菜单移动到按钮的一侧。

以上是关于将引导程序下拉更改为水平向右的主要内容,如果未能解决你的问题,请参考以下文章

将引导下拉 html ul 标记转换为 asp:DropDownList

使用引导程序将蓝色链接更改为黑色

将弹出“电子邮件已发送”更改为引导“上下文背景”?

使用引导程序将导航栏向右对齐

没有标签文本的复选框的引导形式水平垂直对齐

引导程序中的静态水平导航栏与内容区域重叠