match-height クラスを使ってBootstrapの列を同じ高さにする
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: absolute
と top
プロパティを使って、列を同じ高さに配置することができます。
<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: absolute
とtop
プロパティを使う方法や、ライブラリを使う方法がおすすめです。
Bootstrapの列を同じ高さにする方法はいくつかあります。それぞれの方法の特徴を理解して、状況に合わせて最適な方法を選びましょう。
css twitter-bootstrap