RTL支持bootstrap 3子菜单

时间:2014-10-30 09:00:16

标签: html css twitter-bootstrap-3

我在调整下拉子菜单以向右侧打开时遇到问题(软件布局是希伯来语)。

我看到提供外部库的类似答案,我不想这样做。我想简单地把我的css弄一下,这样就可以了,我几乎就在那里,这是你可以帮助我的地方:)。

这两张照片说明了我遇到的问题:

caret size position and location submenu overlaps with main

我有三个问题:

  1. 将插入符号位置改为左侧
  2. 将插入符号位置更改为左侧
  3. 打开左侧的子菜单(现在它向左打开,但与主要的重叠,但我可以忍受,上面的2更重要)
  4. 在这个link中,提到bootstrap 3不再支持子菜单,我在我的css上控制它。

    **

    • HTML

    **:

    <div ng-show="buildings.total_buildings" tooltip="מגוון פעולות שניתן לבצע על הרשומות שבחרתם" class="btn-group">
        <button class="btn btn-default dropdown-toggle btn-lg" data-toggle="dropdown">
            <i class="fa fa-lg fa-building "></i>
            <span class="caret"></span> 
            <span class="badge_success badge">{{buildings.total_buildings}}</span>
        </button>
        <ul class="dropdown-menu">
            <li>
                <a href="javascript:void(0);" ng-click="buildings.user.exportHtmlTableToPdf('buildings_table', 'lskd')"><i class="fa fa-file-pdf-o"></i>&nbsp;&nbsp;&nbsp;&nbsp;יצא לקובץ pdf</a>
            </li>   
    
            <li class="dropdown-submenu pull-left">
                <a href="javascript:void(0);"><i class="fa fa-envelope-o"></i>&nbsp;&nbsp;&nbsp;&nbsp;שלח מייל</a>
                <ul href="javascript:void(0);" class="dropdown-menu">
                    <li><a href="javascript:void(0);"><i class="fa fa-building"></i>&nbsp;&nbsp;&nbsp;&nbsp;כולם</a>
                    </li>                               
                    <li><a href="javascript:void(0);"><i class="fa fa-building owner"></i>&nbsp;&nbsp;&nbsp;&nbsp;בעלים</a>
                    </li>
                    <li><a href="javascript:void(0);"><i class="fa fa-building renter"></i>&nbsp;&nbsp;&nbsp;&nbsp;שוכרים</a>
                    </li>
                    <li><a href="javascript:void(0);"><i class="fa fa-building defecto"></i>&nbsp;&nbsp;&nbsp;&nbsp;דיירים</a>
                    </li>
                </ul>
            </li>
    
            <li>
                <a href="javascript:void(0);" ng-click="return"><i class="fa fa-comment-o"></i>&nbsp;&nbsp;&nbsp;&nbsp;שלח סמס</a>
            </li>
            <li>
                <a href="javascript:void(0);" ng-click="return"><i class="fa fa-envelope-o"></i>&nbsp;&nbsp;&nbsp;&nbsp;שלח מייל</a>
            </li>                       
            <li>
                <a href="javascript:void(0);" ng-click="buildings.showBuildingsData()"><i class="fa fa-male"></i>&nbsp;&nbsp;&nbsp;&nbsp;הצג דיירים</a>
            </li>
            <li>
                <a href="javascript:void(0);" ng-click="return"><i class="fa fa-database"></i>&nbsp;&nbsp;&nbsp;&nbsp;קרא וטען נתונים</a>
            </li>
            <li>
                <a href="javascript:void(0);" ng-click="return"><i class="fa fa-trash-o"></i>&nbsp;&nbsp;&nbsp;&nbsp;מחק </a>
            </li>
        </ul>
    </div>
    

    **

    • CSS

    **:

    .dropdown-submenu {
        position: relative;
        text-align: right;
    }
    
    .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: right !important;
    }
    
    .dropdown-submenu.pull-left>.dropdown-menu {
        right: 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 个答案:

答案 0 :(得分:0)

请看一下 jsFiddle 。我对您的CSS进行了一些更改并添加了一些新样式:

.btn-group, .btn-group-vertical {
    float: right;
}
.dropdown-menu {
    min-width: 190px;
}
.dropdown-menu>li>a {
    text-align: right;
}
.dropdown-submenu>a:before {
    content:'◄';
    float: left;
    margin-left: 0px;
    color: #ccc;
    font-size: 10px;
    margin-top: 3px;
}
.dropdown-submenu>a:after {
    display: none;
}
.dropdown-submenu>a:hover:before {
    color: #fff;
}