부트 스트랩을 사용하고 있습니다. 세 개의 기둥을 모두 같은 높이로 만들려면 어떻게해야합니까?
다음은 문제의 스크린 샷입니다. 파란색과 빨간색 열이 노란색 열과 같은 높이가 되길 원합니다.

코드는 다음과 같습니다.
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container-fluid">
<div class="row">
    <div class="col-xs-4 panel" style="background-color: red">
        some content
    </div>
    <div class="col-xs-4 panel" style="background-color: yellow">
        catz
        <img width="100" height="100" src="https://lorempixel.com/100/100/cats/">
    </div>
    <div class="col-xs-4 panel" style="background-color: blue">
        some more content
    </div>
</div>
</div>답변
부트 스트랩 4를 사용하는 솔루션 4
Bootstrap 4는 Flexbox를 사용하므로 추가 CSS가 필요 없습니다.
<div class="container">
    <div class="row ">
        <div class="col-md-4" style="background-color: red">
          some content
        </div>
        <div class="col-md-4" style="background-color: yellow">
          catz
          <img width="100" height="100" src="https://placekitten.com/100/100/">
        </div>
        <div class="col-md-4" style="background-color: green">
          some more content
        </div>
    </div>
</div>음수 여백을 사용하는 솔루션 1 (응답 성이 깨지지 않음)
.row{
    overflow: hidden;
}
[class*="col-"]{
    margin-bottom: -99999px;
    padding-bottom: 99999px;
}테이블을 사용하는 솔루션 2
.row {
    display: table;
}
[class*="col-"] {
    float: none;
    display: table-cell;
    vertical-align: top;
}flex를 사용한 솔루션 3 은 2015 년 8 월에 추가되었습니다.이 솔루션 전에는 의견이 게시되지 않았습니다.
.row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         flex;
  flex-wrap: wrap;
}
.row > [class*='col-'] {
  display: flex;
  flex-direction: column;
}답변
2020 업데이트
CSS flexbox를 사용 하는 Bootstap 3.x에 대한 최선의 접근 방식 (최소 CSS 필요)
.equal {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
}특정 중단 점에 동일한 높이의 플렉스 박스 만 적용하려면 (반응 형) 미디어 쿼리를 사용하십시오. 예를 들어 다음은 sm(768px) 이상입니다.
@media (min-width: 768px) {
  .row.equal {
    display: flex;
    flex-wrap: wrap;
  }
}이 솔루션은 여러 행 (열 줄 바꿈)에도 잘 작동합니다. 
https://www.bootply.com/gCEXzPMehZ
다른 해결 방법
이러한 옵션은 다른 사람들이 권장하지만 반응 형 디자인 에는 적합하지 않습니다 . 이들은 열 줄 바꿈이없는 간단한 단일 행 레이아웃에만 작동합니다.
2) display : table-cell 사용 (이 솔루션은 반응 형 그리드에도 영향을 미치므로 @media 쿼리는 table열이 세로로 쌓이기 전에 더 넓은 화면 에만 표시하는 데 사용할 수 있음 )
부트 스트랩 4
Flexbox는 이제 Bootstrap 4에서 기본적으로 사용되므로 추가 CSS가 동일한 높이 열을 만들 필요가 없습니다 : http://www.codeply.com/go/IJYRI4LPwU
예:
<div class="container">
    <div class="row">
        <div class="col-md-6"></div>
        <div class="col-md-6"></div>
    </div>
</div>답변
자바 스크립트가 필요하지 않습니다. 다음 과 같이 .row-eq-height기존 클래스 를 추가하십시오 .row.
<div class="row row-eq-height">
  <div class="col-xs-12 col-sm-4 panel" style="background-color: red">
    some content
  </div>
  <div class="col-xs-6 col-sm-4 panel" style="background-color: yellow">
    kittenz
  <img src="http://placekitten.com/100/100">
  </div>
  <div class="col-xs-6 col-sm-4 panel" style="background-color: blue">
    some more content
  </div>
</div>팁 : 행에 열이 12 개를 초과하면 부트 스트랩 그리드가 줄 바꿈에 실패합니다. 따라서 div.row.row-eq-height12 열마다 새로운 것을 추가하십시오 .
팁 : 추가해야 할 수도 있습니다
<link rel="stylesheet" href="http://getbootstrap.com.vn/examples/equal-height-columns/equal-height-columns.css" />당신의 HTML에
답변
귀하의 질문에 대답하기 위해 접두사 CSS 가 있는 전체 응답 데모를 볼 수 있습니다 .
/* Using col-xs media query breakpoint but you can change 481 to 768 to only apply to col-sm and above if you'd like*/
@media only screen and (min-width : 481px) {
    .flex-row {
        display: flex;
        flex-wrap: wrap;
    }
    .flex-row > [class*='col-'] {
        display: flex;
        flex-direction: column;
    }
    .flex-row.row:after,
    .flex-row.row:before {
        display: flex;
    }
}위의 스크린 샷과 같이 플렉스 열 내에서 썸네일 컨텐츠 플렉스에 대한 지원을 추가하려면 다음을 추가하십시오 … 패널을 사용 하여이 작업을 수행 할 수 있습니다.
.flex-row .thumbnail,
.flex-row .caption {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
}
.flex-text {
    flex-grow: 1;
}
.flex-row img {
    width: 100%;
}flexbox는 IE9 이하에서 작동하지 않지만 Javascript 그리드 와 같은 조건부 태그를 폴리 필로 사용하여 대체를 사용하여 데모를 사용할 수 있습니다 .
<!--[if lte IE 9]>
<![endif]-->허용 된 답변의 다른 두 가지 예는 … 테이블 데모는 괜찮은 아이디어이지만 잘못 구현되고 있습니다. 부트 스트랩 열 클래스에 CSS를 적용하면 그리드 프레임 워크가 완전히 손상됩니다. [class*='col-']너비가 정의 된 테이블 스타일은 1과 2에 대해 사용자 정의 선택기를 사용해야합니다 . 높이와 너비가 같은 열을 원할 경우에만이 방법을 사용해야합니다. 다른 레이아웃 용이 아니며 반응이 없습니다. 그러나 모바일 디스플레이에서 대체 할 수 있습니다 …
<div class="table-row-equal">
<div class="thumbnail">
    Content...
</div>
<div class="thumbnail">
    Content...
</div>
</div>@media only screen and (min-width : 480px){
    .table-row-equal {
        display: table;
        width: 100%;
        table-layout: fixed;
        border-spacing: 30px 0px;
        word-wrap: break-word;
    }
    .table-row-equal .thumbnail {
        float: none;
        display: table-cell;
        vertical-align: top;
        width: 1%;
    }
}마지막으로, 하나의 실제 레이아웃 버전을 구현하는 승인 된 답변의 첫 번째 데모는 일부 상황에서는 적합하지만 부트 스트랩 열에는 적합하지 않습니다. 그 이유는 모든 열이 컨테이너 높이로 확장되기 때문입니다. 따라서 열이 옆의 요소가 아닌 전체 컨테이너로 확장되므로 응답 성이 손상됩니다. 이 방법을 사용하면 더 이상 행에 아래쪽 여백을 적용 할 수 없으며 앵커 태그로 스크롤하는 등 다른 문제가 발생할 수 있습니다.
전체 코드는 flexbox 코드를 자동으로 접두어로 추가 한 Codepen을 참조하십시오.
답변
하나의 행만 표시하므로 유스 케이스가 해당 행으로 제한 될 수 있습니다. 여러 행이있는 경우이 플러그인 -github Javascript-grids- 가 완벽하게 작동합니다! 각 패널을 가장 높은 패널로 확장하여 해당 행에서 가장 높은 패널을 기준으로 각 행에 다른 높이를 지정할 수 있습니다. jquery 솔루션 대 CSS이지만 대안 접근법으로 권장하고 싶었습니다.
답변
모든 브라우저에서이 작업을 수행하려면 javascript를 사용하십시오.
$( document ).ready(function() {
    var heights = $(".panel").map(function() {
        return $(this).height();
    }).get(),
    maxHeight = Math.max.apply(null, heights);
    $(".panel").height(maxHeight);
});답변
이 스레드와 다른 페이지에서 제안한 것들을 많이 시도했지만 모든 브라우저에서 100 % 작동하지는 않았습니다.
그래서 나는 꽤 많은 시간을 실험하고 이것을 생각해 냈습니다.
1 개의 클래스 만 있는 flexbox 를 사용하여 Bootstrap Equal Height 열 을 위한 완벽한 솔루션 .  이것은 모든 주요 브라우저 IE10 +에서 작동합니다.
CSS :
.row.equal-cols {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.row.equal-cols:before,
.row.equal-cols:after {
  display: block;
}
.row.equal-cols > [class*='col-'] {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
.row.equal-cols > [class*='col-'] > * {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}HTML :
<div class="container">
  <div class="row equal-cols">
    <div class="col-sm-4">
      <div class="content"></div>
    </div>
    <div class="col-sm-4">
      <div class="content"></div>
    </div>
    <div class="col-sm-4">
      <div class="content"></div>
    </div>
  </div>
</div>더 많은 버전의 IE를 지원하려면 예를 들어 https://github.com/liabru/jquery-match-height를 사용 하고의 모든 하위 열을 타겟팅 할 수 있습니다 .equal-cols. 이처럼 :
// Create a check for IE9 (or any other specific browser).
if(IE9) {
  $(".row.equal-cols > [class*='col-']").matchHeight();
}이 폴리 필이 없으면 열은 일반적인 부트 스트랩 열처럼 작동하므로 대체로 좋습니다.

