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


113

我正在尝试将列的内容居中。看起来不适合我。这是我的HTML:

<div class="row">
   <div class="col-xs-1 center-block">
       <span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
   </div>
 </div>

JSFiddle演示


什么是你想这样做,对齐span的中心.col-xs-1或对齐col-xs-1的中心 .row
Igor Ivancha '16

我正在尝试对齐列内的任何内容,或者更好地对齐单元格中的内容。
2016年

Answers:


179

使用:

<!-- unsupported by HTML5 -->
<div class="col-xs-1" align="center">

代替

<div class="col-xs-1 center-block">

您还可以使用bootstrap 3 CSS:

<!-- recommended method -->
<div class="col-xs-1 text-center">

Bootstrap 4现在具有将内容居中的flex类:

<div class="d-flex justify-content-center">
   <div>some content</div>
</div>

请注意,默认情况下它会x-axis除非flex-directionIScolumn


并将col-xs-1更改为col-xs-12。这可能是您的错字。
惯性

46
HTML5不支持<div> align属性。
阿比尔·苏尔

7
即使'align'属性仍然可用,长时间使用它也被认为是一种不好的做法。一定要使用“文本中心”类
Omar Abdel Bari,

谢谢!这也使用bootstrap 3方法为我解决了。
Pat Doyle,

“文本中心”类对我不起作用,因为我有一个按钮和一个加载微调器div。添加引导类“ d-flex justify-content-around”对我来说解决了。
Roger Sampaio

76

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

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

引导程序4

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

<div class="row">
    <div class="col-4 d-flex justify-content-center">
        // Image
    </div>
</div>

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

<div class="row">
    <div class="col-4 d-flex justify-content-center text-center">
        // for image and text
    </div>
</div>

23

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>

选项2:CSS文本对齐

<div class="row">
  <div class="col-xs-1 center-block" style="text-align:center;">
    <span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
  </div>
</div>

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

<div class="row">
  <div class="col-xs-1 center-block" style="text-align:center;word-break:break-all;">
    <span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
  </div>
</div>

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

<div class="row">
  <div class="col-xs-1 center-block text-center">
    <span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
  </div>
</div>

FlexBox方法

<div class="row">
  <div class="flexBox" style="
    display: flex;
    flex-flow: row wrap;
    justify-content: center;">
    <span>aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
  </div>
</div>

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


是的,如果我使用lg列而不是xs,这似乎可行。但是,如果我只有一列,那该列不应该占用尽可能多的空间吗?考虑到在三种不同分辨率的三种浏览器中工作的事实,我如何知道要使用哪一列?
2016年

Bootstrap列利用基于响应百分比的宽度,因此无论分辨率如何,它们都应该非常相似。但是,如果希望它们在隔离时占据宽度的100%,则必须覆盖width和min-width属性。
西德里尔'16

17

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

         <div class="col-md-6 my-auto">
           <h3>Lorem ipsum.</h3>
         </div>

12

Bootstrap 4,使用伸缩框水平和垂直对齐内容

<div class="page-hero d-flex align-items-center justify-content-center">
 <h1>Some text </h1>
</div>

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

垂直和水平居中对齐的文本

.page-hero {
  height: 200px;
  background-color: grey;
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">

<div class="page-hero d-flex align-items-center justify-content-center">
  <h1>Some text </h1>
</div>


1
这是比公认的答案更好的答案
Mahir Islam

7

使用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>

3

这是一个简单的方法。

<div class="row">
  <div class="col-md-6 mx-auto">
    <p>My text</p>
  </div>
</div>

6个控制宽度的列的。


2
//add this to your css
    .myClass{
          margin 0 auto;
          }

// add the class to the span tag( could add it to the div and not using a span  
// at all
    <div class="row">
   <div class="col-xs-1 center-block">
       <span class="myClass">aaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
   </div>
 </div>

2

col-lg-4 col-md-6 col-sm-8 col-11 mx-auto

 1. col-lg-4  1200px (popular 1366, 1600, 1920+)
 2. col-md-6  970px (popular 1024, 1200)
 3. col-sm-8  768px (popular 800, 768)
 4. col-11 set default smaller devices for gutter (popular 600,480,414,375,360,312)
 5. mx-auto = always block center



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.