49

我的问题是如何使药丸居中?

我试图在周围添加中心块并更改float:leftfloat:center但没有任何帮助。

4

7 回答 7

83

这变得简单多了!你只需要使用text-center容器上的类,并应用display:inline-blockul. 只需确保您有一个换行符或段落标签将导航与容器内的任何其他元素分开。

完毕!2 类添加,1 行 CSS(不要修改引导 css 文件!)。

HTML:

<div class="col-md-12 text-center">
    <p>Copyright stuff</p>
    <ul class="nav nav-pills center-pills">
        <li><a href="#">Footer nav link</a></li>
        <li><a href="#">Footer nav link</a></li>
    </ul>
</div>

CSS:

.center-pills { display: inline-block; }


2015 年编辑:正如 Artur Beljajev 所提出的,Flexbox 支持现在已经很普遍了,您可能想改用它:

.center-pills {
    display: flex;
    justify-content: center;
}
于 2013-04-11T15:35:13.417 回答
54

如果您想在可变宽度容器中使用可变宽度药丸,我建议使用inline-block显示类型并向药丸容器添加一个类。

这是我如何扩展引导​​程序以使药丸居中。

CSS:

.centered-pills { text-align:center; }
.centered-pills ul.nav-pills { display:inline-block; }
.centered-pills li { display:inline; }
.centered-pills a { float:left; }
* html .centered-pills ul.nav-pills { display:inline; } /* IE6 */
*+html .centered-pills ul.nav-pills { display:inline; } /* IE7 */

HTML:

<div class="row">
  <div class="span12 centered-pills">
    <ul class="nav nav-pills">
      <li><a href="#">derek</a></li>
      <li><a href="#">brooks</a></li>
      <li><a href="#">is</a></li>
      <li><a href="#">super</a></li>
      <li class="active"><a href="#">awesome</a></li>
    </ul>
  </div>
</div>
于 2012-03-10T20:29:16.140 回答
25

或弹性盒方法:

.nav-pills {
    display: flex;
    justify-content: center;
}
于 2014-10-28T07:28:25.643 回答
6

如果您希望药丸居中而不是左对齐,则需要更改 css。您需要指定宽度并将边距更改为自动。

例如:

.tabs, .pills {
    margin: 0 auto;
    padding: 0;
    width: 400px;
}
于 2011-08-24T22:02:11.233 回答
3

虽然@minaz 的答案适用于已知宽度的列表,但我会提出一个不同的解决方案,即使您更改列表的内容,它也确实有效:

.tabs, .pills {
  text-align: center;
}

.tabs li, .pills li {
  float: none;
}

或者在 SCSS 中:

.tabs, .pills {
  text-align: center;
  li { float: none; }
}

这将使列表内的文本居中,并重置float列表项的属性,以便它们受text-align属性影响。

于 2012-02-07T16:08:01.833 回答
0

Bootstrap 4的简单解决方案justify-content-center<ul>导航中 使用

例子:

@import url('https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<div class="mt-5">
  <ul class="nav nav-pills mb-3 justify-content-center" id="pills-tab" role="tablist">
    <li class="nav-item">
      <a class="nav-link active" id="pills-home-tab" data-toggle="pill" href="#pills-home" role="tab" aria-controls="pills-home" aria-selected="true">Home</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#pills-profile" role="tab" aria-controls="pills-profile" aria-selected="false">Profile</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" id="pills-contact-tab" data-toggle="pill" href="#pills-contact" role="tab" aria-controls="pills-contact" aria-selected="false">Contact</a>
    </li>
  </ul>
  <div class="tab-content" id="pills-tabContent">
    <div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">
      <div class="card text-white bg-success mb-3 mx-2 px-2">
        <h1>Hi</h1>
      </div>
    </div>
    <div class="tab-pane fade" id="pills-profile" role="tabpanel" aria-labelledby="pills-profile-tab">
      <div class="card text-white bg-info mb-3 mx-2 px-2">
        <h1>Hi</h1>
      </div>
    </div>
    <div class="tab-pane fade" id="pills-contact" role="tabpanel" aria-labelledby="pills-contact-tab">
      <div class="card text-white bg-danger mb-3 mx-2 px-2">
        <h1>Ni Hao</h1>
      </div>
    </div>
  </div>
</div>

于 2018-08-20T13:29:23.133 回答
0

Bootstrap 4 解决方案非常简单:

<ul class="nav justify-content-center">

https://getbootstrap.com/docs/4.0/components/navs/

于 2018-09-03T02:58:24.967 回答