如何将内容集中在引导列中?

Mar*_*ark 62 html css twitter-bootstrap

我试图将列的内容集中在一起.看起来不适合我.这是我的HTML:

<div class="row">
   <div class="col-xs-1 center-block">
       <span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
   </div>
 </div>
Run Code Online (Sandbox Code Playgroud)

JSFiddle演示

jak*_*ake 119

使用:

<!-- unsupported by HTML5 -->
<div class="col-xs-1" align="center">
Run Code Online (Sandbox Code Playgroud)

代替

<div class="col-xs-1 center-block">
Run Code Online (Sandbox Code Playgroud)

你也可以使用bootstrap 3 css:

<div class="col-xs-1 text-center">
Run Code Online (Sandbox Code Playgroud)

编辑:HTML5中不支持align属性

  • HTML5中不支持<div> align属性. (32认同)
  • 即使'align'属性仍然可用,长时间使用它也被认为是一种不好的做法。一定要使用“文本中心”类 (4认同)

Sid*_*iel 15

Bootstrap命名约定包含它们自己的样式,col-XS-1指的是包含元素宽度的8.33%的列.您的文本很可能会远远超出指定的宽度,并且无法在其中居中.如果你想要它约束div,你可以使用像css word-break这样的东西.

要将内容集中在一个足够大的元素中以扩展到文本之外,您有两个选项.

选项1:HTML中心标记

<div class="row">
  <div class="col-xs-1 center-block">
    <center>
      <span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
    </center>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

选项2:CSS文本对齐

<div class="row">
  <div class="col-xs-1 center-block" style="text-align:center;">
    <span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

如果您希望所有内容都限制为列的宽度

<div class="row">
  <div class="col-xs-1 center-block" style="text-align:center;word-break:break-all;">
    <span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

更新 - 使用Bootstrap的文本中心类

<div class="row">
  <div class="col-xs-1 center-block text-center">
    <span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

FlexBox方法

<div class="row">
  <div class="flexBox" style="
    display: flex;
    flex-flow: row wrap;
    justify-content: center;">
    <span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/usth0kd2/13/


tha*_*s.a 7

这是一个简单的方法。

<div class="row">
  <div class="col-md-6 mx-auto">
    <p>My text</p>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

数字6控制列的宽度。


cga*_*lev 6

text-center而不是center-block.

或者center-block在span元素上使用(我做了更宽的列,这样你可以更好地看到对齐):

<div class="row">
   <div class="col-xs-10" style="background-color:#123;">
      <span class="center-block" style="width:100px; background-color:#ccc;">abc</span>
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)


小智 6

无需使事情复杂化。使用Bootstrap 4,您可以使用margin auto类简单地在列内水平对齐项目my-auto

         <div class="col-md-6 my-auto">
           <h3>Lorem ipsum.</h3>
         </div>
Run Code Online (Sandbox Code Playgroud)


kir*_*nvj 5

Bootstrap 4,使用Flex Box水平和垂直对齐内容

<div class="page-hero d-flex align-items-center justify-content-center">
 <h1>Some text </h1>
</div>
Run Code Online (Sandbox Code Playgroud)

使用引导类align-items-center和justify-content-center

<div class="page-hero d-flex align-items-center justify-content-center">
 <h1>Some text </h1>
</div>
Run Code Online (Sandbox Code Playgroud)
.page-hero {
  height: 200px;
  background-color: grey;
}
Run Code Online (Sandbox Code Playgroud)


Dex*_*ter 5

我知道这个问题很旧。问题没有提到他正在使用哪个版本的Bootstrap。因此,我假设该问题的答案已解决。

如果你们中的任何一个(像我一样)偶然发现这个问题并使用最新的(2019)引导框架寻找答案,那么这里就是解决方案。

引导程序4

使用d-flex justify-content-center你的列格。这将使该列内的所有内容居中。

<div class="row">
    <div class="col-4 d-flex justify-content-center">
        // Image
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

如果列内有文本,并且您想将所有文本居中对齐。只需添加text-center到同一类。

<div class="row">
    <div class="col-4 d-flex justify-content-center text-center">
        // for image and text
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • `&lt;div class="col text-center"&gt;` 为我工作。这个答案是比官方引导文档更好的文档。 (2认同)