コンテナ
コンテナは、Bootstrapの基本的な構成要素であり、指定されたデバイスまたはビューポート内でコンテンツを包含し、パディングを行い、配置します。
仕組み
コンテナは、Bootstrapで最も基本的なレイアウト要素であり、デフォルトのグリッドシステムを使用する場合に必須です。コンテナは、コンテンツを包含し、パディングを行い、(場合によっては)中央に配置するために使用されます。コンテナはネストできますが、ほとんどのレイアウトではネストされたコンテナは必要ありません。
Bootstrapには3種類のコンテナが用意されています
.container、各レスポンシブブレークポイントでmax-widthを設定します.container-{breakpoint}、指定されたブレークポイントまでwidth: 100%になります.container-fluid、すべてのブレークポイントでwidth: 100%になります
以下の表は、各コンテナのmax-widthが、各ブレークポイントにおける元の.containerおよび.container-fluidとどのように比較されるかを示しています。
グリッドの例で、それらの動作を確認し、比較してください。
| エクストラスモール <576px |
スモール ≥576px |
ミディアム ≥768px |
ラージ ≥992px |
Xラージ ≥1200px |
XXラージ ≥1400px |
|
|---|---|---|---|---|---|---|
.container |
100% | 540px | 720px | 960px | 1140px | 1320px |
.container-sm |
100% | 540px | 720px | 960px | 1140px | 1320px |
.container-md |
100% | 100% | 720px | 960px | 1140px | 1320px |
.container-lg |
100% | 100% | 100% | 960px | 1140px | 1320px |
.container-xl |
100% | 100% | 100% | 100% | 1140px | 1320px |
.container-xxl |
100% | 100% | 100% | 100% | 100% | 1320px |
.container-fluid |
100% | 100% | 100% | 100% | 100% | 100% |
デフォルトコンテナ
デフォルトの.containerクラスは、レスポンシブな固定幅コンテナです。つまり、max-widthは各ブレークポイントで変化します。
<div class="container">
<!-- Content here -->
</div>
レスポンシブコンテナ
レスポンシブコンテナを使用すると、指定されたブレークポイントに達するまで100%の幅になるクラスを指定できます。その後、より高いブレークポイントごとにmax-widthを適用します。たとえば、.container-smは、smブレークポイントに達するまで最初は100%の幅になり、そこでmd、lg、xl、およびxxlで拡大します。
<div class="container-sm">100% wide until small breakpoint</div>
<div class="container-md">100% wide until medium breakpoint</div>
<div class="container-lg">100% wide until large breakpoint</div>
<div class="container-xl">100% wide until extra large breakpoint</div>
<div class="container-xxl">100% wide until extra extra large breakpoint</div>
フルイドコンテナ
ビューポートの幅全体にまたがるフル幅コンテナには、.container-fluidを使用します。
<div class="container-fluid">
...
</div>
CSS
Sass変数
上記のように、Bootstrapは、必要なレイアウトを構築するのに役立つ一連の事前定義されたコンテナクラスを生成します。これらの事前定義されたコンテナクラスは、それらを動かすSassマップ(_variables.scssにあります)を変更することでカスタマイズできます。
$container-max-widths: (
sm: 540px,
md: 720px,
lg: 960px,
xl: 1140px,
xxl: 1320px
);
Sassマップと変数の変更方法の詳細と例については、グリッドドキュメントのSassセクションを参照してください。
Sassミックスイン
Sassのカスタマイズに加えて、Sassミックスインを使用して独自のコンテナを作成することもできます。
// Source mixin
@mixin make-container($padding-x: $container-padding-x) {
width: 100%;
padding-right: $padding-x;
padding-left: $padding-x;
margin-right: auto;
margin-left: auto;
}
// Usage
.custom-container {
@include make-container();
}