Twitter Bootstrap을 사용하여 중앙 집중식 컨텐츠를 얻는 방법은 무엇입니까?


569

매우 기본적인 예를 따르려고합니다. 시작 페이지와 그리드 시스템을 사용하여 다음을 기대했습니다.

<div class="row">
  <div class="span12">
    <h1>Bootstrap starter template</h1>
    <p>Example text.</p>
  </div>
</div>

... 중심 텍스트를 생성합니다.

그러나 여전히 맨 왼쪽에 나타납니다. 내가 무엇을 잘못하고 있지?


5
'<div class = "span12">'내부의 텍스트를 중앙에 배치 하시겠습니까, 아니면 전체 '<div class = "row">'div를 브라우저 창 중앙에 배치 하시겠습니까?
— NerdFury 2012


3
HTML 호환성에 관심이있는 @Chloe 사람들. 우연히 부트 스트랩 클래스가 래핑 하는 것을 <center>선호하여 더 이상 사용되지 않습니다 . text-align: center.text-center
— jmoss

Bootstrap 4를 사용하는 경우 다음을 참조하십시오 : stackoverflow.com/questions/42388989/…
— Zim

답변:


690

이것은 텍스트 센터링 ( 질문에 관한 내용 )입니다.

다른 유형의 컨텐츠는 Flavien 's answer를 참조하십시오 .

업데이트 : Bootstrap 2.3.0+ Answer

원래 답변은 초기 버전의 부트 스트랩이었습니다. 부트 스트랩 2.3.0부터 div에 클래스를 제공 할 수 있습니다.text-center .


원래 답변 (2.3.0 이전)

당신은 두 개의 클래스 중 하나를 정의 할 필요가 row또는 span12로모그래퍼을 text-align: center. http://jsfiddle.net/xKSUH/ 또는 http://jsfiddle.net/xKSUH/1/을 참조하십시오.


2
나는 이것을 row12와 span12 모두에 대해 시도했지만 span12 안의 테이블은 항상 왼쪽에 앉아 있습니다. 패딩을 추가하면 중앙으로 이동하지만 반응 형으로 중앙에 배치하고 싶습니다. 어떻게 든 자동 패딩을 할 수 있습니까?
— ATSiem

나는이 작동하고 있음을 볼 수 있지만 우리는 왜 말하는데, 이러한 정의해야한다 없습니다 이미 정의 나는 .... 그냥 텍스트에 대해 이야기하고?
— Jiwan 샤르마 Akshat

@ AkshatJiwanSharma-- 클래스가 정의되어 있지만 마지막으로 본 클래스는 text-align: center기본 클래스가 아닙니다. 일반적으로 기본값은 left정렬입니다.
— ScottS

2.3.0 이전 버전 .pagination-centered에서도 작동합니다 : P는 다른 클래스를 추가하는 키 입력을 저장합니다.
— Sarim

@Sarim : 실제로 pagination-centeredHTML에 다른 클래스를 추가해야합니다. 제 2.3.0 이전 답변에는 이미 클래스의 속성 정의를 확장하기 위해 하나만 필요합니다. 또한을 사용하여 답변에 대한 의견을 보면 pagination-centered이와 관련된 이의 및 경고가 표시됩니다. 그러나 그것이 귀하의 경우에 효과가 있다면 가십시오! :-)
— ScottS

240

참고 : 이것은 Bootstrap 3에서 제거되었습니다 .


부트 스트랩 3 이전에 CSS 클래스를 다음 pagination-centered과 같이 사용할 수 있습니다 .

<div class="span12 pagination-centered">
    Centered content.
</div>

클래스 pagination-centered는 이미 bootstrap.css (또는 bootstrap.min.css)에 있으며 유일한 규칙이 있습니다.

.pagination-centered{text-align:center;}

부트 스트랩 2.3.0 사용 그냥 수업을 사용하십시오text-center


41
(클래스 이름에서 유추 한 것처럼) 페이지 매김에 매우 특정한 것으로 사용하지 않는 것이 좋습니다. 페이지 매김에 적용하는 스타일과 충돌 할 수 있으며 부트 스트랩이이 클래스가 중앙 페이지 매김을 위해 더 많은 작업을 수행해야한다고 결정하면 향후 업데이트와 호환되지 않을 수 있습니다.
— Dayson

4
@ lurii.k 이것은 아이들을 포함한 모든 것을 중심으로 만듭니다. 우리는 외부 컨테이너를 정렬하고 싶지만 내부의 모든 것을 왼쪽으로 정렬하려면?
— gatzkerob

1
부트 스트랩 2.3.0 포함 CSS 클래스를 사용하십시오. .text-center
— Iurii.K

지금까지 가장 큰 대답! 부트 스트랩 2.3.2로 작업
— jQuery00

4
Bootstrap 3.0.0이이 클래스를 제거한 것으로 보입니다. .text-center상위 버전을 사용 하는 것이이 버전에 맞는 솔루션입니다.
— Blazemonger

152

나는 대부분의 사람들이 실제로 텍스트 내용뿐만 아니라 전체div 를 중앙 에 배치하는 방법을 찾고 있다고 생각 합니다 (사소한 것입니다 ...).

두 번째 방법 (text-align : center를 사용하는 대신 HTML에서 항목을 가운데에 맞추는 것)은 너비와 자동 여백이 고정 된 요소 (왼쪽 및 오른쪽)를 갖는 것입니다. 부트 스트랩에서 자동 여백을 정의하는 스타일은 "컨테이너"클래스입니다.

<div class="container">
    <div class="span12">
        "Centered stuff there"
    </div>
</div>

바이올린을 보려면 여기를보십시오 : http://jsfiddle.net/D2RLR/7788/


9
정답은 공식적으로 여기에 설명되어 있습니다. twitter.github.com/bootstrap/scaffolding.html#layouts
— Qlimax

2
@Qlimax 귀하의 링크가 깨져있는 것 같습니다. 2.3.2에서 원하는 것 같습니다 : getbootstrap.com/2.3.2/scaffolding.html#layouts
— Chris

1
@Sebastialonso 방금 더 이상 사용되지 않는 종속성을 수정했습니다. 문제를보고 해 주셔서 감사합니다
— Flavien Volken

열을 중앙에 배치하려는 경우 작동하지 않습니다. 그리드 기둥을 중앙에 배치하려면을 사용하십시오 col-*offset-*. 예를 들어 <div class="col-10 offset-1">또는<div class="col-8 offset-2">
— sgon00

47

2019 업데이트-부트 스트랩 4

"중심 컨텐츠"는 많은 다른 것을 의미 할 수 있으며, 부트 스트랩 중심화는 원래 게시물 이후로 많이 변경되었습니다.

수평 중심

부트 스트랩 3

  • text-centerdisplay:inline요소에 사용됩니다
  • center-block 중심으로 display:block요소
  • col-*offset-* 그리드 열을 중심으로
  • 네비게이션 바를 중앙에 배치하려면 이 답변 을 참조하십시오

데모 부트 스트랩 3 수평 센터링

부트 스트랩 4

  • text-center 여전히 사용됩니다 display:inline 요소에
  • mx-autocenter-block센터로 교체display:block 요소로
  • offset-* 또는 mx-auto 그리드 열을 중앙에 배치하는 데 사용할 수 있습니다
  • justify-content-center에서 row중심에 사용할 수 있습니다col-*

mx-auto(자동 X 축 마진) 중앙 것 display:block또는 display:flex요소가 한정된 폭 ( %, vw, px, 등). Flexbox가 기본적으로 사용됩니다 그리드 열에 으로 되므로 다양한 flexbox 센터링 방법도 있습니다.

데모 부트 스트랩 4 수평 센터링


수직 중심

Bootstrap 4는 기본적으로 flexbox이므로 세로 정렬에는 auto-margins , flexbox utils 또는 display utils 와 vertical align utils를 사용하는 다양한 방법이 있습니다. 처음에는 "수직 정렬 유틸리티"가 명백해 보이지만 인라인 및 테이블 표시 요소 에서만 작동합니다. 다음은 부트 스트랩 4 수직 센터링 옵션입니다.


1-자동 여백을 사용한 수직 중심 :

수직으로 가운데에 놓는 또 다른 방법은을 사용하는 것 my-auto입니다. 컨테이너 내부의 요소를 중앙에 배치합니다. 예를 들어 h-100행을 전체 높이로 만들고 열 my-auto을 세로로 가운데에 col-sm-12맞 춥니 다.

<div class="row h-100">
    <div class="col-sm-12 my-auto">
        <div class="card card-block w-25">Card</div>
    </div>
</div>

자동 여백 데모를 사용한 수직 센터

my-auto 세로 y 축의 여백을 나타내며 다음과 같습니다.

margin-top: auto;
margin-bottom: auto;

2-Flexbox가있는 수직 중심 :

수직 중심 그리드 열

Bootstrap 4 .row가 이제 열에 수직으로 가운데에 display:flex놓기 만하면 align-self-center됩니다 ...

       <div class="row">
           <div class="col-6 align-self-center">
                <div class="card card-block">
                 Center
                </div>
           </div>
           <div class="col-6">
                <div class="card card-inverse card-danger">
                    Taller
                </div>
          </div>
    </div>

또는 align-items-center전체 .row를 사용 col-*하여 행의 모든 것을 세로로 가운데 정렬하십시오 ...

       <div class="row align-items-center">
           <div class="col-6">
                <div class="card card-block">
                 Center
                </div>
           </div>
           <div class="col-6">
                <div class="card card-inverse card-danger">
                    Taller
                </div>
          </div>
    </div>

수직 중심 다른 높이 열 데모


3-디스플레이 유틸리티를 사용한 수직 중심 :

부트 스트랩 4 갖는 디스플레이 유틸 사용될 수 display:table, display:table-cell, display:inline, 등이이 함께 사용될 수있는 수직 배향 유틸 정렬 인라인으로, 인라인 블록 또는 테이블 셀 소자.

<div class="row h-50">
    <div class="col-sm-12 h-100 d-table">
        <div class="card card-block d-table-cell align-middle">
            I am centered vertically
        </div>
    </div>
</div>

디스플레이 유틸리티 데모를 사용한 수직 센터


그리드 레이아웃을 사용할 때 다음 CSS 조합 만 열 내부의 div를 가로 및 세로로 정렬하여 열의 최대 높이가 같은 행의 가장 큰 열과 일치한다는 것을 알았습니다. .className-of-inner-div { display: inline-block; text-align: left; padding-top: 25%; padding-bottom: 20%; margin-top: auto; margin-bottom: auto; } .className-of-Grid-column { vertical-align:middle; text-align: center; }
— user3188040

고마워 이것은 내 문제를 해결합니다.
— sgon00

가능한 경우 각 데모마다 투표했습니다. 그들은 대단해. :) 고마워요!
— Pascal

36

부트 스트랩 3.1.1 에는 .center-blockdiv를 센터링 하는 클래스가 있습니다. http://getbootstrap.com/css/#helper-classes-center를 참조하십시오 .

컨텐츠 블록 display: block중심 요소를 중심으로 설정합니다 margin. 믹스 인 및 클래스로 제공됩니다.

<div class="center-block">...</div>

또는 다른 사람들이 이미 말했듯이 .text-center클래스를 사용하여 텍스트를 가운데에 맞 춥니 다.


29

이를 수행하는 가장 좋은 방법은 CSS 스타일을 정의하는 것입니다.

.centered-text {
    text-align:center
}    

그런 다음 중앙 텍스트가 필요한 곳에 다음과 같이 추가하십시오.

<div class="row">
    <div class="span12 centered-text">
        <h1>Bootstrap starter template</h1>
        <p>Use this document as a way to quick start any new project.<br> All you get is this message and a barebones HTML document.</p>
    </div>
</div>

또는 p 태그를 중앙에 배치하려는 경우 :

<div class="row">
    <div class="span12 centered-text">
        <h1>Bootstrap starter template</h1>
        <p class="centered-text">Use this document as a way to quick start any new project.<br> All you get is this message and a barebones HTML document.</p>
    </div>
</div>

인라인 CSS가 적을수록 더 좋습니다.


좋은 점은 Bootstrap Modal 바닥 글의 단추를 가운데에 맞추는 데 사용했습니다.
— 자이언트 엘크

13

.show-grid 클래스는 링크의 예제에서 중심 정렬 텍스트를 적용합니다.

언제든지 style="text-align:center"행 div 또는 다른 클래스에 추가 할 수 있습니다 .


4
이와 같은 인라인 스타일을 추가하는 것은 종종 나쁜 습관으로 간주됩니다
— Spencer Williams

2
나는 동의한다. 그래서 나는 또한 "또는 다른 클래스"라고 말했다 :)
— PAULDAWG

12

2013 년 2 월 현재 "span"div에 "centred"클래스를 추가합니다.

<div class="container">
  <div class="row">
    <div class="span9 centred">
      This div will be centred.
    </div>
  </div>
</div>

CSS로 :

[class*="span"].centred {
  margin-left: auto;
  margin-right: auto;
  float: none;
}

그 이유는 span * div가 왼쪽으로 부동되고 "자동 여백"센터링 기술이 div가 부동되지 않은 경우에만 작동하기 때문입니다.

데모 (JSFiddle) : http://jsfiddle.net/5RpSh/8/embedded/result/

JSFiddle : http://jsfiddle.net/5RpSh/8/


3
이것은 div가 중심에 있고 여전히 반응하기 때문에 가장 좋은 대답입니다. 여기 데모를위한 바이올린이 있습니다. 대답에 하나가 작동하지 않습니다 : jsfiddle.net/r7Qgn/6
— Rafi

9

Bootstrap 3을 사용하는 경우 .text-center 라는 내장 CSS 클래스도 있습니다 . 그것이 당신이 원하는 것입니다.

<div class="text-left">
    left
</div>

<div class="text-center">
    center
</div>

<div class="text-right">
    right
</div>

jsfiddle의 예제를 참조하십시오. http://jsfiddle.net/ucheng/Q4Fue/


8

부트 스트랩 2.3에는 text-center클래스가 있습니다.

<p class="text-left">Left aligned text.</p>
<p class="text-center">Center aligned text.</p>
<p class="text-right">Right aligned text.</p>

아니오, 그것은 텍스트에 대해서만 작동합니다. 문제는 메인 컨테이너에 관한 것입니다
— drmartin

"질문은 메인 컨테이너에 관한 것"입니다. 왜 당신이 그 주장을하는지 (그리고 허용 된 답변을보십시오)
— leonbloy

5

내 편 CSS에서는 사용할 준비가되고 기억하기 쉬운 새로운 스타일을 정의합니다 .

.center { text-align: center;}
.left { text-align: left;}
.right { text-align: right;}
.justify { text-align: justify;}
.fleft { float: left;} /*-> similar to .pull-left already existing in bootstrap*/
.fright { float: right;}  /*-> similar to .pull-right already existing in bootstrap*/
.vab { vertical-align: bottom;}
.bold { font-weight: bold;}
.italic { font-style: italic;}

좋은 생각입니까? 이것에 대한 좋은 연습이 있습니까?


3
미끄러운 경사. CSS는 문서 구조에서 스타일 문제를 제거해야합니다. 간접적이지만 이것들을 다시 추가하십시오. 어쩌면 TBS는와 나쁜 예를 설정 span12s와 같은
— willscripted

미끄러운 경사 의견에 동의합니다. 또한 Twitter Bootstrap 자체의 사용이 미끄러운 경사라고 덧붙였습니다.
— Jason Swett

4

Bootstrap 2.0 이상을 사용하는 경우

이것은 div를 페이지 중앙에 만들 수 있습니다.

<div class="row">
    <div class="span4 offset4">
        //your content here gets centered of the page
    </div>
</div>

11
이것은 요소를 중심에 두지 않습니다. 요소의 왼쪽 상단 모서리를 4 열 앞으로 놓습니다. 센터링은 요소의 정확한 중심을 컨테이너 요소의 중심에 두는 것을 의미합니다.
— Cagatay Kalan 2012

3

텍스트 정렬 유틸리티 클래스는 트릭을 수행합니다. 부트 스트랩은 .text-center오랫동안 텍스트를 중심에 배치하기 위해 클래스를 사용 하고 있습니다.

.text-center { text-align: center !important; }

또는 자신 만의 유틸리티를 만들 수 있습니다. 몇 년 동안 내가 본 몇 가지 변형 :

.u-text-center { text-align: center !important; }
.ta-center { text-align: center !important; }
.ta\:c { text-align: center !important; }

3
풀-왼쪽 및 풀-오른쪽이 클래스에 주어진 요소에 영향을 미치기 때문에 좋은 디자인이 아닙니다. 정의 할 때 중심을 당기면 요소의 자식에 영향을줍니다.
— Cagatay Kalan

3

당신은 조정해야합니다 .span .

예:

<div class="container-fluid">
  <div class="row-fluid">
    <div class="span4"></div>
    <!--/span-->
    <div class="span4" align="center">
      <div class="hero-unit" align="center">
        <h3>Sign In</h3>
        <form>
          <div class="input-prepend">
            <span class="add-on"><i class="icon-envelope"></i> </span>
            <input class="span6" type="text" placeholder="Email address">
          </div>
          <div class="input-prepend">
            <span class="add-on"><i class="icon-key"></i> </span>
            <input class="span6" type="password" placeholder="Password">
          </div>
        </form>
      </div>
    </div>
    <!-- /span -->
    <div class="span4"></div>
  </div>
  <!-- /row -->
</div>

2

응답 성 (모바일 호환성)을 유지하면서 정보 블록 span1을 중앙 에 배치하기 위해 선호하는 방법은 중앙에 놓고 싶은 콘텐츠 전후에 두 개의 빈 div 를 배치 하는 것입니다.

<div class="row-fluid">

    <div class="span1">
    </div>

        <div class="span10">
          <div class="hero-unit">
            <h1>Reading Resources</h1>
            <p>Read here...</p>
          </div>
        </div><!--/span-->

    <div class="span1">
    </div>

</div><!--/row-->

2

Bootstrap 버전 3.1.1 이상에서 컨텐츠를 중앙에 배치하는 데 가장 적합한 클래스는 .center-block도우미 클래스입니다.


그렇습니다. 지금은 매우 테마이며 사용자는 3.1.1보다 큰 부트 스트랩 버전을 사용합니다.
— SAFEEN 1990 년

1
<div class="container">
  <div class="col-md-12 centered">
    <div class="row">
      <div class="col-md-1"></div>
       <div class="col-md-10">
           label
       </div>
      <div class="col-md-1"></div>
    </div>
  </div>
</div>

메인에 용기 액을 사용하지 마십시오.


당신은이 centered많은 혼란을 만들 것입니다 코드에서 클래스를
— bg17aw

흥미로운 접근법이지만 내 특정 웹 양식 CSS의 경우 이것이 좋은 옵션이었습니다.
— JoshYates1980

1

센터 블록은 위의 답변에서 언급되지 않은 옵션입니다.

    <div class="center-block" style="width:200px;background-color:#ccc;">...</div>

모든 수업 center-block 는 요소에 0 여백을 갖도록 지시하고, 자동은 왼쪽 / 오른쪽 여백입니다. 그러나 클래스 text-center 또는 css text-align : center; 요소가 부모에 설정되어 있으면 요소가이 자동 계산을 수행 할 지점을 알지 못하므로 예상대로 중앙에 위치하지 않습니다.

따라서 텍스트 센터가 더 나은 옵션입니다.


1

아래 유형 중 하나를 사용할 수 있습니다

  1. 부트 스트랩 기존 클래스 사용 text-center .
  2. 사용자 지정 스타일을 추가 style = "text-align:center".
  3. 열 오프셋을 사용하십시오.

    예: <div class="col-md-offset-6 col-md-12"></div>


0

반응 형 기능을 유지하면서 화면 크기에 관계없이 중심을 유지하기 위해이 클래스를 만들었습니다.

.container {
    alignment-adjust: central;
}

0

원하는 div 또는 태그에 텍스트 중심 클래스를 사용하십시오. 나는 그것이 잘 작동 할 수 있다고 생각합니다. 텍스트 정렬 센터를위한 Bootstrap 클래스입니다.

다음은 텍스트 정렬 부트 스트랩 클래스입니다.

text-left, text-right, text-justify, etc.
<div class="row">
 <div class="col-md-12 text-center">
  <h1>Bootstrap starter template</h1>
  <p>Example text.</p>
 </div>
</div>

0

나는 두 가지 방법을 시도했지만 div의 중심을 잡는 데 효과적이었습니다. 두 방법 모두 모든 화면에서 div를 정렬합니다.

방법 1 : 푸시 사용 :

<div class = "col-lg-4 col-md-4 col-sm-4 col-xs-4 col-lg-push-4 col-md-push-4 col-sm-push-4 col-xs-push-4" style="border-style:solid;border-width:1px">
    <h2>Grievance form</h2> <!-- To center this text, use style="text-align: center" -->
  </div>

방법 2 : 오프셋 사용 :

<div class = "col-lg-4 col-md-4 col-sm-4 col-xs-4 col-lg-offset-4 col-md-offest-4 col-sm-offest-4 col-xs-offest-4" style="border-style:solid;border-width:1px">
    <h2>Grievance form</h2> <!--to center this text, use style="text-align: center"-->
</div>

결과:

여기에 이미지 설명을 입력하십시오

설명

부트 스트랩은 지정된 화면 점유의 첫 번째 열인 왼쪽으로 지정됩니다. 오프셋을 사용하거나 푸시하면 'this'열을 'those'많은 열만큼 이동합니다. 오프셋의 응답성에 몇 가지 문제가 있었지만 푸시는 훌륭했습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.