in English

概要

ラッピング コンテナー、強力なグリッド システム、柔軟なメディア オブジェクト、レスポンシブ ユーティリティ クラスなど、Bootstrap プロジェクトをレイアウトするためのコンポーネントとオプション。

コンテナ

コンテナーは、Bootstrap の最も基本的なレイアウト要素であり、デフォルトのグリッド システムを使用するときに必要です。コンテナーは、コンテナー内のコンテンツを格納、パディング、および (場合によっては) 中央に配置するために使用されます。コンテナーは入れ子にすることができますが、ほとんどのレイアウトでは入れ子になったコンテナーは必要ありません。

Bootstrap には 3 つの異なるコンテナーが付属しています。

  • .containermax-width各レスポンシブ ブレークポイントに を設定します
  • .container-fluid、これはwidth: 100%すべてのブレークポイントにあります
  • .container-{breakpoint}width: 100%指定されたブレークポイントまで

次の表は、各コンテナーが元のコンテナーと比較され、各ブレークポイントがどのように変化するかを示していmax-widthます。.container.container-fluid

それらを実際に見て、グリッドの例で比較してください。

極小
<576px

≥576px

≥768px

≥992px
特大
≥1200px
.container 100% 540px 720px 960px 1140px
.container-sm 100% 540px 720px 960px 1140px
.container-md 100% 100% 720px 960px 1140px
.container-lg 100% 100% 100% 960px 1140px
.container-xl 100% 100% 100% 100% 1140px
.container-fluid 100% 100% 100% 100% 100%

オールインワン

デフォルト.containerのクラスはレスポンシブな固定幅のコンテナーです。つまり、max-width各ブレークポイントで変更されます。

<div class="container">
  <!-- Content here -->
</div>

体液

.container-fluidビューポートの幅全体にわたる、全幅のコンテナに使用します。

<div class="container-fluid">
  ...
</div>

レスポンシブ

レスポンシブ コンテナーは、Bootstrap v4.4 の新機能です。指定したブレークポイントに到達するまで 100% 幅のクラスを指定できます。その後max-width、より高いブレークポイントごとに s を適用します。たとえば、ブレークポイントに到達.container-smするまで 100% の幅で開始すると、 、、およびでスケールアップします。smmdlgxl

<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>

レスポンシブ ブレークポイント

Bootstrap はモバイル ファーストになるように開発されているため、いくつかのメディア クエリを使用して、レイアウトとインターフェイスの適切なブレークポイントを作成します。これらのブレークポイントは、主にビューポートの最小幅に基づいており、ビューポートの変更に合わせて要素を拡大できます。

Bootstrap は主に、レイアウト、グリッド システム、およびコンポーネントのソース Sass ファイルで次のメディア クエリ範囲 (またはブレークポイント) を使用します。

// Extra small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }

// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }

ソース CSS を Sass で記述しているため、すべてのメディア クエリは Sass mixin を介して利用できます。

// No media query necessary for xs breakpoint as it's effectively `@media (min-width: 0) { ... }`
@include media-breakpoint-up(sm) { ... }
@include media-breakpoint-up(md) { ... }
@include media-breakpoint-up(lg) { ... }
@include media-breakpoint-up(xl) { ... }

// Example: Hide starting at `min-width: 0`, and then show at the `sm` breakpoint
.custom-class {
  display: none;
}
@include media-breakpoint-up(sm) {
  .custom-class {
    display: block;
  }
}

ときどき、反対方向 (指定された画面サイズ以下)のメディア クエリを使用します。

// Extra small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) { ... }

// Small devices (landscape phones, less than 768px)
@media (max-width: 767.98px) { ... }

// Medium devices (tablets, less than 992px)
@media (max-width: 991.98px) { ... }

// Large devices (desktops, less than 1200px)
@media (max-width: 1199.98px) { ... }

// Extra large devices (large desktops)
// No media query since the extra-large breakpoint has no upper bound on its width
ブラウザーは現在 、範囲コンテキスト クエリをサポートしていないため、これらの比較により高い精度の値を使用することで、小数幅のプレフィックスmin-max-ビューポートの制限 (たとえば、高 dpi デバイスの特定の条件下で発生する可能性があります) を回避することに注意してください。 .

繰り返しになりますが、これらのメディア クエリは Sass mixin からも利用できます。

@include media-breakpoint-down(xs) { ... }
@include media-breakpoint-down(sm) { ... }
@include media-breakpoint-down(md) { ... }
@include media-breakpoint-down(lg) { ... }
// No media query necessary for xl breakpoint as it has no upper bound on its width

// Example: Style from medium breakpoint and down
@include media-breakpoint-down(md) {
  .custom-class {
    display: block;
  }
}

最小および最大のブレークポイント幅を使用して、画面サイズの単一セグメントをターゲットにするためのメディア クエリと mixin もあります。

// Extra small devices (portrait phones, less than 576px)
@media (max-width: 575.98px) { ... }

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) and (max-width: 767.98px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) and (max-width: 991.98px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) and (max-width: 1199.98px) { ... }

// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }

これらのメディア クエリは、Sass mixin 経由でも利用できます。

@include media-breakpoint-only(xs) { ... }
@include media-breakpoint-only(sm) { ... }
@include media-breakpoint-only(md) { ... }
@include media-breakpoint-only(lg) { ... }
@include media-breakpoint-only(xl) { ... }

同様に、メディア クエリは複数のブレークポイント幅にまたがる場合があります。

// Example
// Apply styles starting from medium devices and up to extra large devices
@media (min-width: 768px) and (max-width: 1199.98px) { ... }

同じ画面サイズ範囲を対象とする Sass mixin は次のようになります。

@include media-breakpoint-between(md, xl) { ... }

Z-インデックス

いくつかの Bootstrap コンポーネントはz-index、コンテンツを配置するための 3 番目の軸を提供することによってレイアウトを制御するのに役立つ CSS プロパティである を利用します。Bootstrap では、ナビゲーション、ツールチップ、ポップオーバー、モーダルなどを適切にレイヤー化するように設計されたデフォルトの z-index スケールを使用しています。

これらのより高い値は、理想的には競合を回避するのに十分なほど高く、具体的な任意の数から始まります。ツールチップ、ポップオーバー、ナビゲーションバー、ドロップダウン、モーダルなど、階層化されたコンポーネント全体でこれらの標準セットが必要です。これにより、動作を合理的に一貫させることができます。100+ または+を使用できなかった理由はありません500

これらの個々の値のカスタマイズはお勧めしません。1 つを変更すると、おそらくすべてを変更する必要があります。

$zindex-dropdown:          1000 !default;
$zindex-sticky:            1020 !default;
$zindex-fixed:             1030 !default;
$zindex-modal-backdrop:    1040 !default;
$zindex-modal:             1050 !default;
$zindex-popover:           1060 !default;
$zindex-tooltip:           1070 !default;

コンポーネント内の重なり合う境界線 (入力グループのボタンや入力など) を処理するために、デフォルト、ホバー、およびアクティブ状態に 、、およびの 1 桁未満z-indexの値を使用します。ホバー/フォーカス/アクティブでは、兄弟要素の上に境界線を表示するために、特定の要素をより高い値で最前面に移動します。123z-index