javascript - 需要右对齐 Bootstrap Navbar 但左对齐它的子菜单

标签 javascript html css twitter-bootstrap

我使用的是使用 pull-right 类右对齐的 Bootstrap 导航栏。当我向导航栏添加下拉菜单时,该下拉菜单的子菜单也与其父级右对齐,这看起来不太好。我如何让它与 parent 保持一致?我已经尝试在几乎所有我能想到的地方添加 pull-left 类,但似乎没有用。想法?

代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width">

    <link rel="stylesheet" href="css/bootstrap.css">
    <style>
        body {
            padding-top: 60px;
            padding-bottom: 40px;
        }
        .menu {
            font-size: 18px;
            margin-top: 10px;
        }
        .menu_icon {
            margin-top: 3px;
        }
        .dropdown-menu .sub-menu {
            left: 100%;
            position: absolute;
            top: 0;
            visibility: hidden;
            margin-top: -1px;
        }
        .dropdown-menu li:hover .sub-menu {
            visibility: visible;
        }
        .dropdown:hover .dropdown-menu {
            display: block;
        }
        .nav-tabs .dropdown-menu, .nav-pills .dropdown-menu, .navbar .dropdown-menu {
            margin-top: 0;
        }
    </style>
    <link rel="stylesheet" href="css/bootstrap-responsive.css">

    <script src="js/vendor/modernizr-2.6.1-respond-1.1.0.min.js"></script>
</head>
<body>
<div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
        <div class="container">
            <a class="brand" href="#">My Brand</a>
            <div class="nav-collapse">
                <ul class="nav pull-right">
                    <li><a class="menu" href="index.php"><i class="icon-home icon-black menu_icon"></i> Home</a></li>
                    <li class="dropdown">
                        <a class="dropdown-toggle menu" data-toggle="dropdown" href="#about">Dropdown <b
                                class="caret"></b></a>
                        <ul class="dropdown-menu">
                            <li><a href="#">Action</a></li>
                            <li><a href="#">Another action</a></li>
                            <li><a href="#">Something else here</a></li>
                            <li class="divider"></li>
                            <li class="nav-header">Nav header</li>
                            <li><a href="#">Separated link</a></li>
                            <li><a href="#">One more separated link</a></li>
                        </ul>
                    </li>
                    <li><a class="menu" href="#"><i class="icon-wrench icon-black menu_icon"></i> Link 1</a></li>
                    <li><a class="menu" href="#"><i class="icon-tag icon-black menu_icon"></i> Link 2</a></li>
                    <li><a class="menu" href="#"><i class="icon-envelope icon-black menu_icon"></i> Link 3</a></li>
                </ul>
            </div>
            <!--/.nav-collapse -->
        </div>
    </div>
</div>
</body>
</html>

最佳答案

您应该为您的 id=myId 添加一个 ID(例如 <ul class="dropdown-menu">)并写下这样的东西:

#myId {right: auto}
#myId::before {left:12px;right:auto}
#myId::after {left:13px;right:auto}

这些 CSS 规则将右拉下拉样式重置为默认值。

这对我有用。看看这个样本: http://jsfiddle.net/RzMRA/3/

关于javascript - 需要右对齐 Bootstrap Navbar 但左对齐它的子菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14427984/

相关文章:

javascript - 一次选中 4 个复选框并将页面重定向到新页面

html - 在绝对位置容器中将文本换行到最大宽度

css - 使用 CSS3 PIE 的 IE 中的框阴影导致背景透明度被撕裂?

javascript - 动画性能问题 velocity.js

html - child 不占据父容器的整个宽度

javascript - 如何将 1000 000 显示为 1Million

javascript - 在 HTML 中单击按钮后如何将进度条(使用 Ladda)与按钮绑定(bind)?

jquery - Slick Slider Next Arrows 不显示

javascript - jQuery 伪选择器 ":not"IE7 不工作?

javascript - jQuery 代理不调用异步函数