仕組み
コンテナは、Bootstrapの基本的なレイアウト要素であり、デフォルトのグリッドシステムを使用する際には必須です。コンテナは内部にコンテンツを格納したり、適切な余白を与えたり(場合によっては)中央に配置したりするために使われます。コンテナはネストできますが、ほとんどのレイアウトではネストする必要はありません。
Bootstrapには3つの異なるコンテナがあります。
.container
は各レスポンシブブレークポイントでmax-width
を設定します。.container-fluid
の場合、すべてのブレークポイントでwidth: 100%
となります。.container-{breakpoint}
は、指定されたブレークポイントまでwidth: 100%
になります。
下の表は、各コンテナのmax-width
と元の.container
および.container-fluid
との比較を各ブレークポイントで示しています。
これらを実際に見て比較するには、グリッドの例を参照してください。
Extra small <576px |
Small ≥576px |
Medium ≥768px |
Large ≥992px |
X-Large ≥1200px |
XX-Large ≥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 mixins
Sassをカスタマイズするだけでなく、Sass mixinで独自のコンテナを作成することも可能です。
// 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();
}