수색…


미디어 쿼리

Less 파일에서 다음과 같은 미디어 쿼리를 사용하여 그리드 시스템에 키 중단 점을 만듭니다.

/* Extra small devices (phones, less than 768px) */
/* No media query since this is the default in Bootstrap */

/* Small devices (tablets, 768px and up) */
@media (min-width: @screen-sm-min) { ... }

/* Medium devices (desktops, 992px and up) */
@media (min-width: @screen-md-min) { ... }

/* Large devices (large desktops, 1200px and up) */
@media (min-width: @screen-lg-min) { ... }

가끔 이러한 미디어 쿼리를 확장하여 최대 너비를 포함시켜 CSS를 더 좁은 장치 집합으로 제한합니다.

@media (max-width: @screen-xs-max) { ... }
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... }
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) { ... }
@media (min-width: @screen-lg-min) { ... }

그리드 옵션

부트 스트랩 그리드 시스템이란?

부트 스트랩 그리드 시스템은 반응이 빠른 웹 사이트 레이아웃을 빠르고 쉽게 만들 수있는 방법을 제공합니다.

Bootstrap 3에는 휴대 전화, 태블릿, 랩톱 및 데스크톱 등과 같은 다양한 유형의 장치에 대한 그리드 레이아웃을 신속하게 작성하기위한 미리 정의 된 그리드 클래스가 포함되어 있습니다.

예를 들어, .col-xs- * 클래스를 사용하여 휴대 전화와 같은 소형 장치의 그리드 열을 만들 수 있습니다. 마찬가지로 태블릿과 같은 작은 화면 장치의 .col-sm- * 클래스, .col-md- * 클래스 데스크톱과 같은 중간 크기 장치 및 대형 데스크톱 화면 용 .col-lg- *에 적합합니다.

다음 표는 새 그리드 시스템의 주요 기능 중 일부를 요약 한 것입니다

아주 작은 기기 폰 (<768px) 소형 장치 태블릿 (≥768px) 중간 크기의 장치 데스크톱 (≥992px) 대형 기기 데스크톱 (≥1200px)
그리드 동작 언제나 가로로
컨테이너 너비 없음 (자동) 750px 970px 1170px
클래스 접두사 .col-xs- .col-sm- .col-md- .col-lg-
열 개수 12 12 12 12
열 너비 자동 ~ 62px ~ 81px ~ 97px
거터 폭 30px (열의 각면에 15px)
네 스테이 블
오프셋
열 순서 지정

가로로 쌓아 올린 상태

하나의 .col-md-* 그리드 클래스 세트를 사용하여 데스크탑 (중형) 장치에서 수평이되기 전에 모바일 장치 및 태블릿 장치 (초소형 범위에서 작은 범위)에 쌓인 기본 그리드 시스템을 만들 수 있습니다. 임의의 .row 그리드 열을 .row .

<div class="row">
  <div class="col-md-1">.col-md-1</div>
  <div class="col-md-1">.col-md-1</div>
  <div class="col-md-1">.col-md-1</div>
  <div class="col-md-1">.col-md-1</div>
  <div class="col-md-1">.col-md-1</div>
  <div class="col-md-1">.col-md-1</div>
  <div class="col-md-1">.col-md-1</div>
  <div class="col-md-1">.col-md-1</div>
  <div class="col-md-1">.col-md-1</div>
  <div class="col-md-1">.col-md-1</div>
  <div class="col-md-1">.col-md-1</div>
  <div class="col-md-1">.col-md-1</div>
</div>
<div class="row">
  <div class="col-md-8">.col-md-8</div>
  <div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
  <div class="col-md-4">.col-md-4</div>
  <div class="col-md-4">.col-md-4</div>
  <div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
  <div class="col-md-6">.col-md-6</div>
  <div class="col-md-6">.col-md-6</div>
</div>

유체 용기

가장 바깥 쪽 .container.container-fluid 로 변경하면 고정 폭 그리드 레이아웃을 전체 너비 레이아웃으로 바꿀 수 있습니다.

<div class="container-fluid">
  <div class="row">
    ...
  </div>
</div>

모바일 및 데스크톱

열을 작은 장치에 간단히 쌓는 것을 원하지 않습니까? .col-xs-* .col-md-* 를 열에 추가하여 추가 소형 ​​및 중형 장치 그리드 클래스를 사용하십시오. 아래의 예제를 통해 모든 기능을 이해할 수 있습니다.

<!-- Stack the columns on mobile by making one full-width and the other half-width -->
<div class="row">
  <div class="col-xs-12 col-md-8">.col-xs-12 .col-md-8</div>
  <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>

<!-- Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop -->
<div class="row">
  <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
  <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
  <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>

<!-- Columns are always 50% wide, on mobile and desktop -->
<div class="row">
  <div class="col-xs-6">.col-xs-6</div>
  <div class="col-xs-6">.col-xs-6</div>
</div>

모바일, 태블릿, 데스크톱

태블릿 .col-sm-* 클래스를 사용하여 더욱 강력하고 강력한 레이아웃을 만들어 이전 예제를 빌드하십시오.

<div class="row">
  <div class="col-xs-12 col-sm-6 col-md-8">.col-xs-12 .col-sm-6 .col-md-8</div>
  <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div>
</div>
<div class="row">
  <div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
  <div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
  <!-- Optional: clear the XS cols if their content doesn't match in height -->
  <div class="clearfix visible-xs-block"></div>
  <div class="col-xs-6 col-sm-4">.col-xs-6 .col-sm-4</div>
</div>

열 배치

하나의 행에 12 개 이상의 열이 있으면 하나의 단위로 각 열의 추가 열이 새 행으로 묶입니다.

<div class="row">
  <div class="col-xs-9">.col-xs-9</div>
  <div class="col-xs-4">.col-xs-4<br>Since 9 + 4 = 13 &gt; 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.</div>
  <div class="col-xs-6">.col-xs-6<br>Subsequent columns continue along the new line.</div>
</div>

반응 형 컬럼 재설정

네 가지 계층의 그리드를 사용할 수있게되면 특정 중단 점에서 열이 다른 열보다 클 때 열이 분명하게 명확하지 않은 문제가 발생할 수 있습니다. 이를 수정하려면 .clearfix 와 반응 형 유틸리티 클래스의 조합을 사용하십시오.

<div class="row">
  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>

  <!-- Add the extra clearfix for only the required viewport -->
  <div class="clearfix visible-xs-block"></div>

  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>
</div>

응답 중단 점에서의 열 제거 외에도 오프셋, 푸시 또는 풀을 다시 설정해야 할 수 있습니다. 그리드 예제에서 실제로 이것을보십시오.

<div class="row">
  <div class="col-sm-5 col-md-6">.col-sm-5 .col-md-6</div>
  <div class="col-sm-5 col-sm-offset-2 col-md-6 col-md-offset-0">.col-sm-5 .col-sm-offset-2 .col-md-6 .col-md-offset-0</div>
</div>

<div class="row">
  <div class="col-sm-6 col-md-5 col-lg-6">.col-sm-6 .col-md-5 .col-lg-6</div>
  <div class="col-sm-6 col-md-5 col-md-offset-2 col-lg-6 col-lg-offset-0">.col-sm-6 .col-md-5 .col-md-offset-2 .col-lg-6 .col-lg-offset-0</div>
</div>

오프셋 열

.col-md-offset-* 클래스를 사용하여 열을 오른쪽으로 이동하십시오. 이러한 클래스는 열의 왼쪽 여백을 * 열만큼 늘립니다. 예를 들어, .col-md-offset-4 는 4 열 위로 .col-md-4 를 이동합니다.

<div class="row">
  <div class="col-md-4">.col-md-4</div>
  <div class="col-md-4 col-md-offset-4">.col-md-4 .col-md-offset-4</div>
</div>
<div class="row">
  <div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div>
  <div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div>
</div>
<div class="row">
  <div class="col-md-6 col-md-offset-3">.col-md-6 .col-md-offset-3</div>
</div>

.col-*-offset-0 클래스로 하위 그리드 계층의 오프셋을 재정의 할 수도 있습니다.

<div class="row">
  <div class="col-xs-6 col-sm-4">
  </div>
  <div class="col-xs-6 col-sm-4">
  </div>
  <div class="col-xs-6 col-xs-offset-3 col-sm-4 col-sm-offset-0">
  </div>
</div>

열 중첩

콘텐츠를 기본 격자로 중첩 시키려면 기존 .col-sm-* 열에 새로운 .row.col-sm-* .row .col-sm-* 열 집합을 추가하십시오. 중첩 된 행에는 최대 12 개 이하의 열을 포함해야합니다 (12 개의 사용 가능한 열을 모두 사용할 필요는 없습니다).

<div class="row">
  <div class="col-sm-9">
    Level 1: .col-sm-9
    <div class="row">
      <div class="col-xs-8 col-sm-6">
        Level 2: .col-xs-8 .col-sm-6
      </div>
      <div class="col-xs-4 col-sm-6">
        Level 2: .col-xs-4 .col-sm-6
      </div>
    </div>
  </div>
</div>

열 순서 지정

.col-md-push-*.col-md-pull-* 수정 자 클래스를 사용하여 빌트인 그리드 열의 순서를 쉽게 바꿀 수 있습니다.

<div class="row">
  <div class="col-md-9 col-md-push-3">.col-md-9 .col-md-push-3</div>
  <div class="col-md-3 col-md-pull-9">.col-md-3 .col-md-pull-9</div>
</div>

믹스 및 변수 감소

빠른 레이아웃을 위해 사전 구축 된 그리드 클래스 외에도, 부트 스트랩에는 간단한 변수 레이아웃과 믹스 인이 포함되어있어 자신의 단순하고 의미있는 레이아웃을 신속하게 생성합니다.

변수

변수는 열의 수, 거터 폭 및 부동 열을 시작하는 미디어 쿼리 포인트를 결정합니다. 우리는 위에 나열된 미리 정의 된 그리드 클래스를 생성하고 아래에 나열된 사용자 정의 믹스킨을 생성합니다.

@grid-columns:              12;
@grid-gutter-width:         30px;
@grid-float-breakpoint:     768px;

믹스 인

믹스 인은 그리드 변수와 함께 사용되어 개별 그리드 열에 대한 의미 론적 CSS를 생성합니다.

// Creates a wrapper for a series of columns
.make-row(@gutter: @grid-gutter-width) {
  // Then clear the floated columns
  .clearfix();

  @media (min-width: @screen-sm-min) {
    margin-left:  (@gutter / -2);
    margin-right: (@gutter / -2);
  }

  // Negative margin nested rows out to align the content of columns
  .row {
    margin-left:  (@gutter / -2);
    margin-right: (@gutter / -2);
  }
}

// Generate the extra small columns
.make-xs-column(@columns; @gutter: @grid-gutter-width) {
  position: relative;
  // Prevent columns from collapsing when empty
  min-height: 1px;
  // Inner gutter via padding
  padding-left:  (@gutter / 2);
  padding-right: (@gutter / 2);

  // Calculate width based on number of columns available
  @media (min-width: @grid-float-breakpoint) {
    float: left;
    width: percentage((@columns / @grid-columns));
  }
}

// Generate the small columns
.make-sm-column(@columns; @gutter: @grid-gutter-width) {
  position: relative;
  // Prevent columns from collapsing when empty
  min-height: 1px;
  // Inner gutter via padding
  padding-left:  (@gutter / 2);
  padding-right: (@gutter / 2);

  // Calculate width based on number of columns available
  @media (min-width: @screen-sm-min) {
    float: left;
    width: percentage((@columns / @grid-columns));
  }
}

// Generate the small column offsets
.make-sm-column-offset(@columns) {
  @media (min-width: @screen-sm-min) {
    margin-left: percentage((@columns / @grid-columns));
  }
}
.make-sm-column-push(@columns) {
  @media (min-width: @screen-sm-min) {
    left: percentage((@columns / @grid-columns));
  }
}
.make-sm-column-pull(@columns) {
  @media (min-width: @screen-sm-min) {
    right: percentage((@columns / @grid-columns));
  }
}

// Generate the medium columns
.make-md-column(@columns; @gutter: @grid-gutter-width) {
  position: relative;
  // Prevent columns from collapsing when empty
  min-height: 1px;
  // Inner gutter via padding
  padding-left:  (@gutter / 2);
  padding-right: (@gutter / 2);

  // Calculate width based on number of columns available
  @media (min-width: @screen-md-min) {
    float: left;
    width: percentage((@columns / @grid-columns));
  }
}

// Generate the medium column offsets
.make-md-column-offset(@columns) {
  @media (min-width: @screen-md-min) {
    margin-left: percentage((@columns / @grid-columns));
  }
}
.make-md-column-push(@columns) {
  @media (min-width: @screen-md-min) {
    left: percentage((@columns / @grid-columns));
  }
}
.make-md-column-pull(@columns) {
  @media (min-width: @screen-md-min) {
    right: percentage((@columns / @grid-columns));
  }
}

// Generate the large columns
.make-lg-column(@columns; @gutter: @grid-gutter-width) {
  position: relative;
  // Prevent columns from collapsing when empty
  min-height: 1px;
  // Inner gutter via padding
  padding-left:  (@gutter / 2);
  padding-right: (@gutter / 2);

  // Calculate width based on number of columns available
  @media (min-width: @screen-lg-min) {
    float: left;
    width: percentage((@columns / @grid-columns));
  }
}

// Generate the large column offsets
.make-lg-column-offset(@columns) {
  @media (min-width: @screen-lg-min) {
    margin-left: percentage((@columns / @grid-columns));
  }
}
.make-lg-column-push(@columns) {
  @media (min-width: @screen-lg-min) {
    left: percentage((@columns / @grid-columns));
  }
}
.make-lg-column-pull(@columns) {
  @media (min-width: @screen-lg-min) {
    right: percentage((@columns / @grid-columns));
  }
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow