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 utilsvertical 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.