부트 스트랩 열에 콘텐츠를 중앙에 배치하는 방법은 무엇입니까?


127

칼럼의 내용을 가운데로 맞추려고합니다. 나를 위해 작동하지 않는 것 같습니다. 내 HTML은 다음과 같습니다.

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

JSFiddle 데모


1
무엇을하려고 하십니까 , 중앙에 정렬 또는 span중앙에 .col-xs-1정렬 합니까? col-xs-1.row
Igor Ivancha

1
열 내부 또는 셀에서 더 나은 콘텐츠를 정렬하려고합니다.
Mark

멍청 해 보일 위험이있는 경우 어느 축을 따라 중앙에 배치합니까?
Luke Puplett

답변:


204

사용하다:

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

대신에

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

부트 스트랩 3 css를 사용할 수도 있습니다.

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

부트 스트랩 4에는 이제 콘텐츠를 중앙에 배치 할 플렉스 클래스가 있습니다.

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

기본적으로이 될 것입니다하는 것으로 x-axis하지 않는 한 flex-directionIScolumn


1
그리고 col-xs-1을 col-xs-12로 변경합니다. 이것은 당신의 오타 일 수 있습니다.
inertia

49
<div> align 속성은 HTML5에서 지원되지 않습니다.
Abeer Sul

8
'align'속성이 여전히 사용 가능하더라도 오랫동안 사용하는 것은 나쁜 습관으로 간주되었습니다. 'text-center'클래스를 사용하세요
Omar Abdel Bari

감사! 이것은 부트 스트랩 3 방법을 사용하여 나에게도 해결되었습니다.
Pat Doyle

하나의 버튼과 하나의 로딩 스피너 div가 있기 때문에 "text-center"클래스가 작동하지 않았습니다. 부트 스트랩 클래스 "d-flex justify-content-around"를 추가하면 해결되었습니다.
Roger Sampaio

82

[2020 년 12 월 업데이트] :5.0 부트 스트랩의 테스트 및 포함 된 버전입니다.


이 질문이 오래되었다는 것을 알고 있습니다. 그리고 질문에는 그가 사용하고있는 부트 스트랩 버전이 언급되지 않았습니다. 그래서 저는이 질문에 대한 답이 해결되었다고 가정하겠습니다.

저와 같은 여러분 중 누구라도이 질문을 우연히 발견하고 현재 부트 스트랩 5.0 (2020) 및 4.5 (2019) 프레임 워크를 사용하여 답변을 찾고 있다면 여기에 해결책이 있습니다.

부트 스트랩 4.5 및 5.0

d-flex justify-content-center열 div에서 사용하십시오 . 이것은 그 기둥 안의 모든 것을 중앙에 놓을 것입니다.

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

열 내부의 텍스트를 정렬하려면 text-center

<div class="row">
    <div class="col-4 text-center">
        // text only
    </div>
</div>

열 안에 텍스트와 이미지가있는 경우 d-flex justify-content-center및 을 사용해야 text-center합니다.

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

23

부트 스트랩 명명 규칙은 고유 한 스타일을 전달하며 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/


예, xs 대신 lg 열을 사용하면 작동하는 것 같습니다. 그러나 열이 하나만있는 경우 해당 열이 사용 가능한만큼 많은 공간을 차지하지 않아야합니까? 세 가지 다른 해상도로 세 가지 브라우저에서 작업한다는 사실을 감안할 때 사용할 열을 어떻게 알 수 있습니까?
Mark

부트 스트랩 컬럼은 반응 형 백분율 기반 너비를 활용하므로 해상도에 관계없이 상당히 유사해야합니다. 그러나 격리 된 경우 너비의 100 %를 사용하려면 width 및 min-width 속성을 재정의해야합니다.
Sidriel

17

복잡하게 만들 필요가 없습니다. Bootstrap 4에서는 margin auto 클래스를 사용하여 항목을 열 내부에 가로로 정렬 할 수 있습니다.my-auto

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

17

부트 스트랩 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 이슬람

7

사용 text-center대신에 center-block.

또는 center-block스팬 요소에 사용 합니다 (열을 더 넓혀 정렬을 더 잘 볼 수 있음).

<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



1

float:none; margin:auto;스타일을 추가 하여 열 내용을 중앙에 배치 할 수 있습니다 .


0

위의 작업 중 어느 것도 (입력을 중앙에 배치하려는 경우와 같이) Boostrap 4 오프셋을 사용했습니다.

<div class="row">
    <div class="col-6 offset-3">
        <input class="form-control" id="myInput" type="text" placeholder="Search..">
    </div>
</div>  
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.