match-height クラスを使ってBootstrapの列を同じ高さにする

2024-04-02

Bootstrapの列を同じ高さにする方法

Flexboxは、要素を柔軟に配置できるレイアウトシステムです。Bootstrap 4以降では、デフォルトでFlexboxが有効になっています。

以下のコード例のように、display: flex を列要素に設定することで、列を同じ高さにすることができます。

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

match-height クラスを使う

Bootstrap 3.xでは、match-height クラスを使って列を同じ高さにすることができます。

<div class="row">
  <div class="col-md-6 match-height">
    ...
  </div>
  <div class="col-md-6 match-height">
    ...
  </div>
</div>

JavaScriptを使って、列の高さを動的に調整することもできます。

以下のコード例は、JavaScriptを使って列の高さを同じにする例です。

function equalHeightColumns() {
  var maxHeight = 0;
  $('.col').each(function() {
    maxHeight = Math.max(maxHeight, $(this).height());
  });
  $('.col').height(maxHeight);
}

$(document).ready(function() {
  equalHeightColumns();
});

CSS Gridは、2次元レイアウトを作成するためのレイアウトシステムです。

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

Media queriesを使って、デバイスの画面サイズに応じて列の高さを調整することができます。

以下のコード例は、モバイルデバイスでは列を同じ高さにする例です。

@media (max-width: 768px) {
  .col {
    height: 100%;
  }
}

ジュエリーブランドのキャッチコピー

キャッチコピー説明イメージ
自然の息吹を纏う、あなただけの輝き自然のモチーフを取り入れたジュエリーで、個性を表現草花、木の実、動物などをモチーフにしたジュエリー
心を込めた、自然の贈り物大切な人へのプレゼントに最適なジュエリーペアジュエリー、誕生石ジュエリー
永遠に続く、愛の証結婚指輪や記念日ジュエリーシンプルで上品なデザインのジュエリー
日常に彩りを添える、ナチュラルジュエリー普段使いしやすいジュエリーカジュアルな服装にも合わせやすいジュエリー
あなたの魅力を、ひとしずく輝かせ身に着けるだけで、自信を与えてくれるジュエリー個性的なデザインのジュエリー

上記はあくまでも一例です。ブランドコンセプトやターゲット層に合わせて、キャッチコピーを考えてみてください。




<div class="row">
  <div class="col-md-6">
    <div class="card">
      <img src="image1.jpg" class="card-img-top" alt="...">
      <div class="card-body">
        <h5 class="card-title">Card title</h5>
        <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
      </div>
    </div>
  </div>
  <div class="col-md-6">
    <div class="card">
      <img src="image2.jpg" class="card-img-top" alt="...">
      <div class="card-body">
        <h5 class="card-title">Card title</h5>
        <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
      </div>
    </div>
  </div>
</div>
<div class="row">
  <div class="col-md-6 match-height">
    <div class="card">
      <img src="image1.jpg" class="card-img-top" alt="...">
      <div class="card-body">
        <h5 class="card-title">Card title</h5>
        <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
      </div>
    </div>
  </div>
  <div class="col-md-6 match-height">
    <div class="card">
      <img src="image2.jpg" class="card-img-top" alt="...">
      <div class="card-body">
        <h5 class="card-title">Card title</h5>
        <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
      </div>
    </div>
  </div>
</div>

JavaScriptを使う

<div class="row">
  <div class="col-md-6">
    <div class="card">
      <img src="image1.jpg" class="card-img-top" alt="...">
      <div class="card-body">
        <h5 class="card-title">Card title</h5>
        <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
      </div>
    </div>
  </div>
  <div class="col-md-6">
    <div class="card">
      <img src="image2.jpg" class="card-img-top" alt="...">
      <div class="card-body">
        <h5 class="card-title">Card title</h5>
        <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
      </div>
    </div>
  </div>
</div>
function equalHeightColumns() {
  var maxHeight = 0;
  $('.col').each(function() {
    maxHeight = Math.max(maxHeight, $(this).height());
  });
  $('.col').height(maxHeight);
}

$(document).ready(function() {
  equalHeightColumns();
});

CSS Gridを使う

<div class="row">
  <div class="col-md-6">
    <div class="card">
      <img src="image1.jpg" class="card-img-top" alt="...">
      <div class="card-body">
        <h5 class="card-title">Card title</h5>
        <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
      </div>
    </div>
  </div>
  <div class="col-md-6">
    <div class="card">
      <img src="image2.jpg" class="card



Bootstrapの列を同じ高さにする他の方法

vh 単位は、ブラウザのウィンドウの高さを基準とした単位です。vh 単位を使うことで、画面サイズに合わせて列の高さを自動的に調整することができます。

<div class="row">
  <div class="col-md-6" style="height: 100vh;">
    ...
  </div>
  <div class="col-md-6" style="height: 100vh;">
    ...
  </div>
</div>

CSSの min-height プロパティを使う

min-height プロパティを使って、列の最小の高さを設定することができます。

<div class="row">
  <div class="col-md-6" style="min-height: 300px;">
    ...
  </div>
  <div class="col-md-6" style="min-height: 300px;">
    ...
  </div>
</div>

position: absolutetop プロパティを使って、列を同じ高さに配置することができます。

<div class="row">
  <div class="col-md-6" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0;">
    ...
  </div>
  <div class="col-md-6" style="position: absolute; top: 0; left: 50%; right: 0; bottom: 0;">
    ...
  </div>
</div>

ライブラリを使う

matchHeight.js などのライブラリを使うことで、簡単に列の高さを同じにすることができます。

<script src="matchHeight.js"></script>

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

<script>
$('.row').matchHeight();
</script>
  • シンプルな方法で、画面サイズに合わせて列の高さを自動的に調整したい場合は、vh 単位を使う方法がおすすめです。
  • 列の最小の高さを設定したい場合は、min-height プロパティを使う方法がおすすめです。
  • より高度なレイアウトを実現したい場合は、position: absolutetop プロパティを使う方法や、ライブラリを使う方法がおすすめです。

Bootstrapの列を同じ高さにする方法はいくつかあります。それぞれの方法の特徴を理解して、状況に合わせて最適な方法を選びましょう。


css twitter-bootstrap


職人技: HTMLとCSSで奏でる、div要素インライン表示のシンフォニー

ここでは、div要素をインライン表示するための方法を、CSSプロパティを用いて解説します。displayプロパティは、要素の表示形式を指定するプロパティです。div要素をインライン表示するには、displayプロパティに以下のいずれかの値を指定します。...


margin: auto; プロパティを使った等間隔のDIVを持つフルード幅レイアウト

このチュートリアルでは、HTML、CSS、フルードレイアウトの知識を用いて、等間隔のDIVを持つフルード幅のレイアウトを作成する方法を解説します。要件このチュートリアルを完了するには、以下の要件が必要です。HTMLとCSSの基本的な知識フルードレイアウトの概念...


「inline-block」要素のはみ出しを防ぐ!overflowプロパティと解決策を完全網羅

この文章では、CSSにおける「overflow」プロパティと「inline-block」要素がどのように相互作用し、要素が下に押し込まれる現象を引き起こすのかについて、詳細に解説します。「inline-block」要素は、インライン要素とブロック要素の特性を兼ね備えた特殊な要素です。具体的には、以下の特徴を持ちます。...


【初心者向け】jQueryとBootstrapでボタンとリンクを無効化/有効化

jQueryとBootstrapを使用して、ボタンやリンクを簡単に無効化/有効化する方法を紹介します。この方法は、Webフォームの送信ボタンを無効化したり、特定の条件が満たされるまでリンクを非アクティブにしたりするのに役立ちます。必要なもの...


ReactでできるCSS擬似要素の秘訣:魅力的なUIをデザインするためのヒント集

このガイドでは、ReactにおけるCSS擬似要素の仕組み、実装方法、そしてよくある落とし穴について詳しく解説します。1 擬似要素とは?CSS擬似要素は、HTML要素に装飾や機能を追加するための特殊なセレクタです。 ::before や ::after などの記号を使って、要素の前面や背面にコンテンツを挿入したり、スタイリングを適用したりすることができます。...