レスポンシブグリッド
グリッドは、カスタムレイアウトを構築するための強力なモバイルファーストのフレックスボックスシステムです。グリッドは、grid, row(s), column(s) という三つの単位で構成されています。列はその行を埋めるように拡張され、追加の列に合うようにサイズが変更されます。これは、画面サイズに応じて異なるブレイクポイントを持つ 12 列のレイアウトに基づいています。カラムの数は CSS を使ってカスタマイズすることができます。
How it works
<ion-grid>
<ion-row>
<ion-col>
<div>1 of 3</div>
</ion-col>
<ion-col>
<div>2 of 3</div>
</ion-col>
<ion-col>
<div>3 of 3</div>
</ion-col>
</ion-row>
</ion-grid>
- グリッドは、すべての行と列のためのコンテナとして機能します。グリッドはコンテナの幅いっぱいに表示されます。
しかし、
fixed
属性を追加すると、スクリーンサイズごとの幅を指定することができます。 - 行は、列を適切に並べるための水平方向のグループです。
- コンテンツは列の中に配置されるべきで、列のみが行の直接の子となることができます。
size-{breakpoint}
属性は、1 行あたりデフォルトの 12 列のうち、使用する列の数を指定します。 つまり、size="4"
を指定すると、グリッドの 1/3、つまり 12 列のうち 4 列を占有することができます。- size に値を指定しないカラムは、自動的に同じ幅になります。例えば、
size-sm
を 4 つ指定すると、スモールブレイクポイント以上の幅は、それぞれ自動的に 25%になります。 - カラムの幅はパーセンテージで設定されるため、常に流動的で、親要素からの相対的な大きさになります。
- カラムは個々のカラムの間にパディングを持ちますが、パディングはグリッドとカラムから削除することができます。
しかし、グリッドに
ion-no-padding
クラスを追加することで、グリッドとカラムからパディングを取り除くことができます。グリッドに適用できるその他のスタイルについては、CSS ユーティリティ を参照してください。 - グリッドの階層は、レスポンシブ・ブレークポイントごとに、すべてのブレークポイント(特小)、小、中、大、特大の 5 段階あります。
- グリッドの階層は最小幅を基準にしており、その階層とそれより大きな階層に適用されます。
(例:
size-sm="4"
は、小型、中型、大型、特大のデバイスに適用されます)。 - グリッドは CSS 変数で簡単にカスタマイズすることができます。グリッドのカスタマイズ](#customizing-the-grid)を参照してください。
ライブでの実装例
Angular の場合は こちら 、React の場合は こちら で、ライブでの実装例を見ることができます。
グリッドの大きさ
デフォルトでは、グリッドは 100%の幅を占めます。画面サイズに応じた幅を設定するには、 fixed
属性を追加します。各ブレークポイントにおけるグリッドの幅は、CSS 変数 --ion-grid-width-{breakpoint}
で定義される。詳しくは、グリッドのカスタマイズ を参照してください。
Name | Value | Description |
---|---|---|
xs | 100% | Don't set the grid width for xs screens |
sm | 540px | Set grid width to 540px when (min-width: 576px) |
md | 720px | Set grid width to 720px when (min-width: 768px) |
lg | 960px | Set grid width to 960px when (min-width: 992px) |
xl | 1140px | Set grid width to 1140px when (min-width: 1200px) |
ライブでの実装例
Angular の場合は こちら 、React の場合は こちら で、ライブの例を見ることができます。
グリッドの属性
グリッドは、デフォルトでは画面の幅いっぱいに表示されます。これは、以下の属性を使って変更できます。
Property | Description |
---|---|
fixed | Set a max width based on the current screen size. |
デフォルトのブレークポイント
デフォルトのブレークポイントは、以下の表で定義されています。現時点では、ブレイクポイントをカスタマイズすることはできません。カスタマイズできない理由については、 Variables in Media Queries を参照してください。
Name | Value | Width Prefix | Offset Prefix | Push Prefix | Pull Prefix | Description |
---|---|---|---|---|---|---|
xs | 0 | size- | offset- | push- | pull- | Set columns when (min-width: 0) |
sm | 576px | size-sm- | offset-sm- | push-sm- | pull-sm- | Set columns when (min-width: 576px) |
md | 768px | size-md- | offset-md- | push-md- | pull-md- | Set columns when (min-width: 768px) |
lg | 992px | size-lg- | offset-lg- | push-lg- | pull-lg- | Set columns when (min-width: 992px) |
xl | 1200px | size-xl- | offset-xl- | push-xl- | pull-xl- | Set columns when (min-width: 1200px) |