Bootstrap は、レスポンシブな 12 列のグリッド、レイアウト、およびコンポーネントに基づいて構築されています。
Bootstrap は、HTML5 doctype の使用を必要とする特定の HTML 要素と CSS プロパティを利用します。すべてのプロジェクトの最初に含めます。
- <!DOCTYPE html>
- <html lang = "ja" >
- ...
- </html>
Bootstrap は、基本的なグローバル表示、タイポグラフィ、およびリンク スタイルを設定します。具体的には、
margin
本体から取り外しますbackground-color: white;
上に設定body
@baseFontFamily
、@baseFontSize
、および@baseLineHeight
属性をタイポグラフィのベースとして使用する@linkColor
リンクの下線のみを適用します。:hover
これらのスタイルはscaffolding.less内にあります。
Bootstrap 2 では、 HTML5 Boilerplateを強化するNicolas GallagherとJonathan NealによるプロジェクトであるNormalize.cssを支持して、古いリセット ブロックが削除されました。reset.less内で多くの Normalize を使用していますが、Bootstrap 用にいくつかの要素を削除しました。
デフォルトの Bootstrap グリッド システムは12 列を使用し、レスポンシブ機能が有効になっていない幅 940 ピクセルのコンテナーを作成します。レスポンシブ CSS ファイルを追加すると、ビューポートに応じてグリッドが 724px および 1170px 幅に適応します。767 ピクセルのビューポートより下では、列が流動的になり、垂直に積み上げられます。
単純な 2 列のレイアウトの場合.row
は、適切な数の.span*
列を作成して追加します。これは 12 列のグリッドであるため、それぞれ.span*
がこれらの 12 列の数にまたがり、各行 (または親の列の数) に対して常に最大 12 を追加する必要があります。
- <divクラス= "行" >
- <divクラス= "span4" > ... </div>
- <divクラス= "span8" > ... </div>
- </div>
この例では、 と が.span4
あり.span8
、合計 12 列と完全な行になります。
.offset*
クラスを使用して列を右に移動します。各クラスは、列の左マージンを列全体で増やします。たとえば、 4 つの列を.offset4
移動.span4
します。
- <divクラス= "行" >
- <divクラス= "span4" > ... </div>
- <divクラス= "span3 オフセット 2" > ... </div>
- </div>
コンテンツを既定のグリッドにネストするには、既存の列内に新しい.row
一連の列を追加します。ネストされた行には、その親の列数まで合計される一連の列が含まれている必要があります。.span*
.span*
- <divクラス= "行" >
- <divクラス= "span9" >
- レベル 1 列
- <divクラス= "行" >
- <div class = "span6" >レベル 2 </div>
- <div class = "span3" >レベル 2 </div>
- </div>
- </div>
- </div>
流体グリッド システムでは、列幅にピクセルではなくパーセントが使用されます。固定グリッド システムと同じ応答機能を備えているため、主要な画面解像度とデバイスの適切な比率が保証されます。
.row
に変更して、任意の行を「流動的」にし.row-fluid
ます。列クラスはまったく同じままなので、固定グリッドと流動グリッドを簡単に切り替えることができます。
- <div class = "row-fluid" >
- <divクラス= "span4" > ... </div>
- <divクラス= "span8" > ... </div>
- </div>
固定グリッド システムのオフセットと同じように動作し.offset*
ます。任意の列に追加して、その数の列だけオフセットします。
- <div class = "row-fluid" >
- <divクラス= "span4" > ... </div>
- <divクラス= "span4 オフセット 2" > ... </div>
- </div>
流動グリッドはネストを異なる方法で利用します。ネストされた各レベルの列は、最大 12 列を追加する必要があります。これは、流体グリッドが幅の設定にピクセルではなくパーセンテージを使用するためです。
- <div class = "row-fluid" >
- <divクラス= "span12" >
- 液体 12
- <div class = "row-fluid" >
- <divクラス= "span6" >
- 液体 6
- <div class = "row-fluid" >
- <div class = "span6" > Fluid 6 </div>
- <div class = "span6" > Fluid 6 </div>
- </div>
- </div>
- <div class = "span6" > Fluid 6 </div>
- </div>
- </div>
- </div>
必要なだけの一般的な固定幅 (およびオプションでレスポンシブ) レイアウトを提供します<div class="container">
。
- <本体>
- <divクラス= "コンテナ" >
- ...
- </div>
- </body>
流動的な 2 列のページを作成するには<div class="container-fluid">
、アプリケーションやドキュメントに最適です。
- <div class = "コンテナ流体" >
- <div class = "row-fluid" >
- <divクラス= "span2" >
- <!--サイドバーの内容-->
- </div>
- <divクラス= "span10" >
- <!--本文内容-->
- </div>
- </div>
- </div>
ドキュメント内に適切なメタ タグと追加のスタイルシートを含めて、プロジェクトでレスポンシブ CSS をオンにします<head>
。[カスタマイズ] ページから Bootstrap をコンパイルした場合は、meta タグのみを含める必要があります。
- <meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
- <link href = "assets/css/bootstrap-responsive.css" rel = "stylesheet" >
注意喚起!現時点では、すべてがレスポンシブである必要はないため、Bootstrap にはデフォルトでレスポンシブ機能が含まれていません。開発者にこの機能の削除を促すのではなく、必要に応じて有効にするのが最善であると考えています。
メディア クエリでは、さまざまな条件 (比率、幅、表示タイプなど) に基づいてカスタム CSS を使用できますが、通常はmin-width
とmax-width
.
メディア クエリは責任を持って使用し、モバイル オーディエンスの開始点としてのみ使用してください。大規模なプロジェクトの場合は、メディア クエリのレイヤーではなく、専用のコード ベースを検討してください。
Bootstrap は、1 つのファイルで少数のメディア クエリをサポートし、さまざまなデバイスや画面解像度でプロジェクトをより適切なものにするのに役立ちます。含まれるものは次のとおりです。
ラベル | レイアウト幅 | 列幅 | ガター幅 |
---|---|---|---|
大型ディスプレイ | 1200px以上 | 70px | 30px |
デフォルト | 980px以上 | 60px | 20px |
縦型タブレット | 768px以上 | 42ピクセル | 20px |
電話からタブレットへ | 767px以下 | 可変列、固定幅なし | |
電話 | 480px以下 | 可変列、固定幅なし |
- /* 大きなデスクトップ */
- @media (最小-幅: 1200px ) { ... }
- /* 縦長のタブレットから横長およびデスクトップへ */
- @media (最小-幅: 768px )および(最大-幅: 979px ) { ... }
- /* 横向きのスマートフォンから縦向きのタブレットへ */
- @media (最大-幅: 767px ) { ... }
- /* 横向きの電話と下向き */
- @media (最大-幅: 480px ) { ... }
モバイル対応の開発を迅速に行うには、これらのユーティリティ クラスを使用して、デバイスごとにコンテンツを表示および非表示にします。以下は、使用可能なクラスと、特定のメディア クエリ レイアウトに対するそれらの影響の表です (デバイスによってラベル付けされています)。それらは にありますresponsive.less
。
クラス | 電話767px以下 | 錠剤979px~768px | デスクトップデフォルト |
---|---|---|---|
.visible-phone |
見える | 隠れた | 隠れた |
.visible-tablet |
隠れた | 見える | 隠れた |
.visible-desktop |
隠れた | 隠れた | 見える |
.hidden-phone |
隠れた | 見える | 見える |
.hidden-tablet |
見える | 隠れた | 見える |
.hidden-desktop |
見える | 見える | 隠れた |
限定的に使用し、同じサイトのまったく異なるバージョンを作成することは避けてください。代わりに、各デバイスのプレゼンテーションを補完するために使用してください。レスポンシブ ユーティリティはテーブルで使用しないでください。そのため、サポートされていません。
上記のクラスをテストするには、ブラウザーのサイズを変更するか、さまざまなデバイスにロードします。
緑のチェックマークは、クラスが現在のビューポートに表示されていることを示します。
ここで、緑色のチェックマークは、現在のビューポートでクラスが非表示になっていることを示しています。