Bootstrap 열을 여러 행으로 확장하려면 어떻게해야합니까?


158

Bootstrap으로 다음 그리드를 수행하는 방법을 알아 내려고합니다.

두 행에 걸쳐있는 상자 (번호 1)를 어떻게 만들지 잘 모르겠습니다. 상자는 순서대로 프로그래밍 방식으로 생성됩니다. 박스 1은 환영 메시지입니다.

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

가장 좋은 방법은 무엇입니까?


1
twitter.github.io/bootstrap/scaffolding.html#gridSystem , 부트 스트랩 그리드 시스템을 중첩 할 수 있습니다.
TheHippo

1
따라서 첫 번째 행 내에 2 개의 행을 중첩시키면서 3이 아닌 2 개의 행을 작성합니까? 상자가 프로그래밍 방식으로 생성 될 때 문제가 될 수 있습니다.
제임스 제프리

1
그것이 효과가 있을지 모르겠지만 pull-left모든 상자에 클래스를 추가하면 효과가 있습니까? 상자 1을 2 + 4와 같은 높이로 만들지는 않지만 높이를 설정할 때 작동해야합니다.
Hailwood

Hailwood, 가능하면 대답으로 입력하십시오. 그렇지 않으면 코드를 붙여 넣을 것입니다. 적어도 Chrome에서는 작동했습니다. 다른 브라우저에서 테스트해야합니다.
제임스 제프리

@Hailwood 사실, 왼쪽으로 당기지 않아도됩니다. 첫 번째 요소의 높이를 설정하면 작동합니다.
James Jeffery

답변:


164

부트 스트랩 3의 경우 :

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>


<div class="row">
    <div class="col-md-4">
        <div class="well">1
            <br/>
            <br/>
            <br/>
            <br/>
            <br/>
        </div>
    </div>
    <div class="col-md-8">
        <div class="row">
            <div class="col-md-6">
                <div class="well">2</div>
            </div>
            <div class="col-md-6">
                <div class="well">3</div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-6">
                <div class="well">4</div>
            </div>
            <div class="col-md-6">
                <div class="well">5</div>
            </div>
        </div>
    </div>
</div>
<div class="row">
    <div class="col-md-4">
        <div class="well">6</div>
    </div>
    <div class="col-md-4">
        <div class="well">7</div>
    </div>
    <div class="col-md-4">
        <div class="well">8</div>
    </div>
</div>

부트 스트랩 2의 경우 :

JSFiddle (Bootstrap 2) 데모를 참조하십시오 : http://jsfiddle.net/SxcqH/52/


상자 1이 자라면서 상자 4와 5를 어떻게 행 높이에 채우겠습니까?
Imran NZ


이 예제는 제대로 작동하지 않습니다. 첫 번째 열의 아래쪽 가장자리가 나머지 열과 약간 맞지 않습니다.
JackKalish

이것은 훌륭한 대답이지만 상자 5가 행 3으로 확장해야한다면 어떻게해야합니까?
Misha'el

@ Misha'el 그것은 매우 간단합니다. 상자 1에 대해 한 일을 상자 3/5에 적용하십시오. 동일한 크기의 열이 3 개 있어야합니다. 외부 열은 1 행, 내부 2 열은 1 열만 포함합니다.
Nathan Williams

17

의견에서 알 수 있듯이 솔루션은 중첩 범위 / 행을 사용하는 것입니다.

<div class="container">
    <div class="row">
        <div class="span4">1</div>
        <div class="span8">
            <div class="row">
                <div class="span4">2</div>
                <div class="span4">3</div>
            </div>
            <div class="row">
                <div class="span4">4</div>
                <div class="span4">5</div>
            </div>
        </div>
    </div>
    <div class="row">
        <div class="span4">6</div>
        <div class="span4">7</div>
        <div class="span4">8</div>
    </div>
</div>

1

아래 예제는 효과가있는 것 같습니다. 첫 번째 요소의 높이를 설정하기 만하면됩니다.

<ul class="row">
    <li class="span4" style="height: 100px"><h1>1</h1></li>
    <li class="span4"><h1>2</h1></li>
    <li class="span4"><h1>3</h1></li>
    <li class="span4"><h1>4</h1></li>
    <li class="span4"><h1>5</h1></li>
    <li class="span4"><h1>6</h1></li>
    <li class="span4"><h1>7</h1></li>
    <li class="span4"><h1>8</h1></li>
</ul>

나는 도울 수는 없지만 행의 잘못된 사용이라고 생각합니다.


1

행을 확장하는 방법에 대한 부분이 철저히 대답했다고 생각하지만 (예 : 행을 중첩하여) 중첩 행이 컨테이너를 채우지 않는 문제가 발생했습니다. flexbox 및 음수 여백이 옵션이지만 훨씬 쉬운 솔루션은 포함 상자 2, 3, 4 및 5 에서 사전 정의 된 h-50클래스 를 사용 row하는 것입니다.

참고 :을 사용 Bootstrap-4하고 있습니다. 동일한 문제가 발생하여 더 우아한 솔루션이라는 것을 발견했기 때문에 공유하고 싶었습니다. :)


0
<div class="row">
  <div class="col-4 alert alert-primary">
     1
  </div>
  <div class="col-8">
    <div class="row">
      <div class="col-6 alert alert-primary">
        2
      </div>
      <div class="col-6 alert alert-primary">
        3
      </div>
      <div class="col-6 alert alert-primary">
        4
      </div>
      <div class="col-6 alert alert-primary">
        5
      </div>
    </div>
  </div>
</div>
<div class="row">
  <div class="col-4 alert alert-primary">
    6
  </div>
  <div class="col-4 alert alert-primary">
    7
  </div>
  <div class="col-4 alert alert-primary">
    8
  </div>
</div>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.