Boostrap 4 Navabar 折叠菜单右对齐
Boostrap 4 Navbar Collapse Menu Right Align
我正在使用 Bootstrap 4,我试图通过单击折叠按钮在右侧而不是左侧打开弹出菜单。我尝试在 "ul" 元素上使用 "ml-auto"。导航栏项目在未折叠时正确位于右侧。当它折叠时,按钮正确地在右侧,但菜单在左侧弹出。我也试过将 "ml-auto" 也放在 div 中,但这没有用。这是我的 HTML:
<nav class="navbar navbar-expand-lg navbar-dark fixed-top">
<a class="navbar-brand" href="#home"><img id="logo" class="no-opacity" src="content/white-logo.png"></a>
<button class="navbar-toggler ml-auto" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="#home"><i class="fa fa-home fa-fw" aria-hidden="true"></i> Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#about"><i class="fa fa-user fa-fw" aria-hidden="true"></i> About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#projects"><i class="fa fa-folder-open fa-fw" aria-hidden="true"></i> Projects</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#experience"><i class="fa fa-briefcase fa-fw" aria-hidden="true"></i> Experience</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#contact"><i class="fa fa-envelope fa-fw" aria-hidden="true"></i> Contact</a>
</li>
</ul>
</div>
</nav>
我觉得有一个简单的解决方案,但我想不通。感谢您的帮助!
只需将简单的规则添加到您的 css。
.nav-item{
text-align: right;
}
根据 http://getbootstrap.com/docs/4.0/components/navs/#horizontal-alignment,在导航栏的折叠下拉列表中居中、右对齐或左对齐的方法是使用 justify-content-end
和 class
中的朋友nav
.
例子。此代码生成其后的图像。
<nav class="navbar navbar-expand-lg fixed-top">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<ul class="list-inline social-buttons">
{% for link in site.social %}
<li class="list-inline-item">
<a href="{{ link.url }}"><i class="{{ link.icon }}"></i></a>
</li>
{% endfor %}
</ul>
<div class="navbar-toggler" data-toggle="collapse" data-target="#menu">
☰<!-- three bars symbol -->
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="menu">
<ul class="nav ml-auto">
<a class="nav-link page-scroll" href="#about">About</a>
<a class="nav-link page-scroll" href="#projects">Projects</a>
<a class="nav-link page-scroll" href="#writing">Writing</a>
<a class="nav-link page-scroll" href="#contact">Contact</a>
</ul>
</div>
</div>
</nav>
现在将该行修改为:
<div class="nav ml-auto justify-content-end">
产量
请注意,这显然与 ml-auto
无关,缺少后者会导致未折叠的菜单项(在更宽的屏幕上)无法右对齐。 (切换按钮本身对我来说总是右对齐。)似乎只有 justify
控制未折叠菜单中的内容。
只需在HTML
中使用"text-right"
例如:
<div class="navbar-collapse text-right" id="navbarResponsive">
我正在使用 Bootstrap 4,我试图通过单击折叠按钮在右侧而不是左侧打开弹出菜单。我尝试在 "ul" 元素上使用 "ml-auto"。导航栏项目在未折叠时正确位于右侧。当它折叠时,按钮正确地在右侧,但菜单在左侧弹出。我也试过将 "ml-auto" 也放在 div 中,但这没有用。这是我的 HTML:
<nav class="navbar navbar-expand-lg navbar-dark fixed-top">
<a class="navbar-brand" href="#home"><img id="logo" class="no-opacity" src="content/white-logo.png"></a>
<button class="navbar-toggler ml-auto" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="#home"><i class="fa fa-home fa-fw" aria-hidden="true"></i> Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#about"><i class="fa fa-user fa-fw" aria-hidden="true"></i> About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#projects"><i class="fa fa-folder-open fa-fw" aria-hidden="true"></i> Projects</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#experience"><i class="fa fa-briefcase fa-fw" aria-hidden="true"></i> Experience</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#contact"><i class="fa fa-envelope fa-fw" aria-hidden="true"></i> Contact</a>
</li>
</ul>
</div>
</nav>
我觉得有一个简单的解决方案,但我想不通。感谢您的帮助!
只需将简单的规则添加到您的 css。
.nav-item{
text-align: right;
}
根据 http://getbootstrap.com/docs/4.0/components/navs/#horizontal-alignment,在导航栏的折叠下拉列表中居中、右对齐或左对齐的方法是使用 justify-content-end
和 class
中的朋友nav
.
例子。此代码生成其后的图像。
<nav class="navbar navbar-expand-lg fixed-top">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<ul class="list-inline social-buttons">
{% for link in site.social %}
<li class="list-inline-item">
<a href="{{ link.url }}"><i class="{{ link.icon }}"></i></a>
</li>
{% endfor %}
</ul>
<div class="navbar-toggler" data-toggle="collapse" data-target="#menu">
☰<!-- three bars symbol -->
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="menu">
<ul class="nav ml-auto">
<a class="nav-link page-scroll" href="#about">About</a>
<a class="nav-link page-scroll" href="#projects">Projects</a>
<a class="nav-link page-scroll" href="#writing">Writing</a>
<a class="nav-link page-scroll" href="#contact">Contact</a>
</ul>
</div>
</div>
</nav>
现在将该行修改为:
<div class="nav ml-auto justify-content-end">
产量
请注意,这显然与 ml-auto
无关,缺少后者会导致未折叠的菜单项(在更宽的屏幕上)无法右对齐。 (切换按钮本身对我来说总是右对齐。)似乎只有 justify
控制未折叠菜单中的内容。
只需在HTML
中使用"text-right"例如:
<div class="navbar-collapse text-right" id="navbarResponsive">