何を試しても、Bootstrap navbarに何かを配置することはできません。
margin:0 auto;
またはmargin-right:auto; margin-left:auto;
を使用してcenter-block
クラスを使用してdivを追加しようとしました。何も機能しない、なぜ私が理解できないほど簡単なこと、私が間違っているのかを達成するのが難しいのですか?
現在のコードは次のとおりです。
<nav class="navbar navbar-fixed-top navbar-dark main-nav">
<div class="container">
<ul class="nav navbar-nav pull-left">
<li class="nav-item active">
<a class="nav-link" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Download</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Register</a>
</li>
</ul>
<ul class="nav navbar-nav text-center">
<li class="nav-item"><a class="nav-link" href="#">Website Name</a></li>
</ul>
<ul class="nav navbar-nav pull-right">
<li class="nav-item">
<a class="nav-link" href="#">Rates</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Help</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact</a>
</li>
</ul>
</div>
Bootstrap 4には、.mx-auto
と呼ばれる新しいユーティリティがあります。中央の要素の幅を指定するだけです。
参照: http://v4-alpha.getbootstrap.com/utilities/spacing/#horizontal-centering
Bass Jobsenの回答(両端の要素の相対的な中心)とは異なり、次の例は絶対中心です。
HTMLは次のとおりです。
<nav class="navbar bg-faded">
<div class="container">
<ul class="nav navbar-nav pull-sm-left">
<li class="nav-item">
<a class="nav-link" href="#">Link 1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link 2</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link 3</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link 4</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-logo mx-auto">
<li class="nav-item">
<a class="nav-link" href="#">Brand</a>
</li>
</ul>
<ul class="nav navbar-nav pull-sm-right">
<li class="nav-item">
<a class="nav-link" href="#">Link 5</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link 6</a>
</li>
</ul>
</div>
</nav>
CSS
.navbar-logo {
width: 90px;
}
これを試して。
.nav-tabs > li{
float:none !important;
display:inline-block !important;
}
.nav-tabs {
text-align:center !important;
}
同様の問題がありました。 Bootstrap4 navbarのアンカーテキストが中央に配置されていません。アンカーのクラスにtext-center
を追加しただけです。
参照: https://stackoverflow.com/a/14146967/1596547 、今すぐ使用できます:
<nav class="navbar navbar-light main-nav">
<div class="container text-xs-center">
<ul class="nav navbar-nav pull-xs-left">
<li class="nav-item active">
<a class="nav-link" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Download</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Register</a>
</li>
</ul>
<ul class="nav navbar-nav" style="display: inline-block;">
<li class="nav-item"><a class="nav-link" href="#">Website Name</a></li>
</ul>
<ul class="nav navbar-nav pull-xs-right">
<li class="nav-item">
<a class="nav-link" href="#">Rates</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Help</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact</a>
</li>
</ul>
</div>
</nav>
コンテナにtext-xs-center
を適用し、リストにdisplay: inline-block;
を設定します。
ドキュメントから
Navbarには、.navbar-textの助けを借りてテキストのビットを含めることができます。このクラスは、テキスト文字列の垂直方向の配置と水平方向の間隔を調整します。
.navbar-textクラスを<li>
要素に適用したので、結果は
<li class="nav-item navbar-text">
これにより、リンクが私のnavbar-brandに対して垂直に中央に配置されますimg
新しいスタイルを作る
.container {
position: relative;
}
.center-nav {
position: absolute;
left: 0;
right: 0;
margin: 0 auto;
width: auto;
max-width: 200px;
text-align: center;
}
.center-nav li{
text-align: center;
width:100%;
}
Webサイト名ULを以下に置き換えます
<ul class="nav navbar-nav center-nav">
<li class="nav-item"><a class="nav-link" href="#">Website Name</a></li>
</ul>
お役に立てれば..
mx-autoを使用してジョブを実行します
<ul class="navbar-nav mx-auto">