CSSユーティリティ
Ionic Framework は、テキストの順番を入れ替えたり、要素の配置や padding や margin を修正する一連のユーティリティ属性を提供します。これは要素で使うことができます。
利用可能な Ionic Framework スターターを使用してアプリを開始しなかった場合、これらのスタイルを機能させるには、グローバ ルスタイルシートのオプションセクションにリストされているスタイルシートを含める必要があります。
テキストの修正
Text Align
<ion-grid>
<ion-row>
<ion-col>
<div class="ion-text-start">
<h3>text-start</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
<ion-col>
<div class="ion-text-end">
<h3>text-end</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
<ion-col>
<div class="ion-text-center">
<h3>text-center</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
</ion-row>
<ion-row>
<ion-col>
<div class="ion-text-justify">
<h3>text-justify</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
<ion-col>
<div class="ion-text-wrap">
<h3>text-wrap</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
<ion-col>
<div class="ion-text-nowrap">
<h3>text-nowrap</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</div>
</ion-col>
</ion-row>
</ion-grid>
| Class | Style Rule | 説明 |
|---|---|---|
.ion-text-left | text-align: left | インラインコンテンツは行ボックスの左端に揃えられます。 |
.ion-text-right | text-align: right | インラインコンテンツは行ボックスの右端に揃えられます。 |
.ion-text-start | text-align: start | 方向が左から右の場合はtext-leftと同じで、方向が右から左の場合はtext-rightと同じです。 |
.ion-text-end | text-align: end | 方向が左から右の場合はtext-rightと同じで、方向が右から左の場合はtext-leftと同じです。 |
.ion-text-center | text-align: center | インラインコンテンツは行ボックス内で中央揃えされます。 |
.ion-text-justify | text-align: justify | インラインコンテンツは両端揃えされます。テキストは、最後の行を除いて、その左右の端を行ボックスの左右の端に揃えるように間隔を空ける必要があります。 |
.ion-text-wrap | white-space: normal | 空白の連続は折りたたまれます。ソース内の改行文字は他の空白として処理されます。必要に応じて行を折り返して行ボックスを埋めます。 |
.ion-text-nowrap | white-space: nowrap | normalと同様に空白を折りたたみますが、テキスト内の改行(テキストの折り返し)を抑制します。 |
Text Transform
<ion-grid>
<ion-row>
<ion-col>
<div class="ion-text-uppercase">
<h3>text-uppercase</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
<ion-col>
<div class="ion-text-lowercase">
<h3>text-lowercase</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
<ion-col>
<div class="ion-text-capitalize">
<h3>text-capitalize</h3>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</div>
</ion-col>
</ion-row>
</ion-grid>
| Class | Style Rule | 説明 |
|---|---|---|
.ion-text-uppercase | text-transform: uppercase | すべての文字を大文字に変換します。 |
.ion-text-lowercase | text-transform: lowercase | すべての文字を小文字に変換します。 |
.ion-text-capitalize | text-transform: capitalize | 各単語の最初の文字を大文字に変換します。 |
Responsive Text Classes
上に挙げたすべてのテキストクラスには、スクリーンサイズに応じてテキストを変更するための追加のクラスがあります。各クラスで text- の代わりに text-{breakpoint}- を使用すると、特定のスクリーンサ イズでのみそのクラスを使用できます。ここで {breakpoint} は Ionic Breakpoints にリストされているブレークポイント名のうちの 1 つです。
以下の表は、 {modifier} のデフォルトの挙動です。 left, right, start, end, center, justify, wrap, nowrap, uppercase, lowercase, capitalize は上記の通りです。
| Class | 説明 |
|---|---|
.ion-text-{modifier} | すべての画面サイズで要素に修飾子を適用します。 |
.ion-text-sm-{modifier} | min-width: 576pxのときに要素に修飾子を適用します。 |
.ion-text-md-{modifier} | min-width: 768pxのときに要素に修飾子を適用します。 |
.ion-text-lg-{modifier} | min-width: 992pxのときに要素に修飾子を適用します。 |
.ion-text-xl-{modifier} | min-width: 1200pxのときに要素に修飾子を適用します。 |
要素の配置
Float
float CSS プロパティは、要素をコンテナの左側または右側に配置する必要 があることを指定します。テキストとインライン要素はその周りに折り返されます。この方法により、要素は Web ページの通常のフローから取り出されますが、絶対配置とは異なり、フローの一部として残ります。
<ion-grid>
<ion-row>
<ion-col>
<h3>no float</h3>
<img
alt="Silhouette of a person's head"
src="https://ionicframework.com/docs/img/demos/avatar.svg"
height="50px"
/>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</ion-col>
<ion-col>
<h3>float-left</h3>
<img
alt="Silhouette of a person's head"
src="https://ionicframework.com/docs/img/demos/avatar.svg"
height="50px"
class="ion-float-left"
/>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</ion-col>
<ion-col>
<h3>float-right</h3>
<img
alt="Silhouette of a person's head"
src="https://ionicframework.com/docs/img/demos/avatar.svg"
height="50px"
class="ion-float-right"
/>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac vehicula lorem.
</ion-col>
</ion-row>
</ion-grid>
| Class | Style Rule | 説明 |
|---|---|---|
.ion-float-left | float: left | 要素は包含ブロックの左側にフロートします。 |
.ion-float-right | float: right | 要素は包含ブロックの右側にフロートします。 |
.ion-float-start | float: left / float: right | 方向が左から右の場合はfloat-leftと同じで、方向が右から左の場合はfloat-rightと同じです。 |
.ion-float-end | float: left / float: right | 方向が左から右の場合はfloat-rightと同じで、方向が右から左の場合はfloat-leftと同じです。 |
レスポンシブな Float クラス
上記のすべての float クラスには、画面サイズに基づいて float を変更するための追加クラスがあります。特定の画面サイズでのみクラスを使用する場合は、各クラスで float- の代わりにfloat-{breakpoint}- を使用します。 {breakpoint} は、Ionic Breakpointsにリストされているブレークポイント名の 1 つです。
次の表に、デフォルトの動作を示します。 {modifier} は、前述のように left, right, start, end のいずれかです。
| Class | 説明 |
|---|---|
.ion-float-{modifier} | すべての画面サイズで要素に修飾子を適用します。 |
.ion-float-sm-{modifier} | min-width: 576pxのときに要素に修飾子を適用します。 |
.ion-float-md-{modifier} | min-width: 768pxのときに要素に修飾子を適用します。 |
.ion-float-lg-{modifier} | min-width: 992pxのときに要素に修飾子を適用します。 |
.ion-float-xl-{modifier} | min-width: 1200pxのときに要素に修飾子を適用します。 |
要素の表示
Display
display CSS プロパティは、要素をブロックまたはインラインボックスとして扱うかどうか、およびその子に使用されるレイアウト(フローレイアウト、グリッド、flex など)を設定します。レイアウトから要素を完全に非表示にするためにも使用できます。
Ionic はdisplay用に以下のユーティリティクラスを提供します:
| Class | Style Rule | 説明 |
|---|---|---|
.ion-display-none | display: none | 要素の表示をオフにして、レイアウトに影響を与えないようにします(要素が存在しないかのようにドキュメントがレンダリングされます)。 |
.ion-display-inline | display: inline | 要素はインライン要素として動作し、その前後に改行を作成しません。 |
.ion-display-inline-block | display: inline-block | 要素はブロック要素として動作し、単一のインラインボックスであるかのように周囲のコンテンツと流れます。 |
.ion-display-block | display: block | 要素はブロック要素として動作し、通常のフローではその前後に改行を作成します。 |
.ion-display-flex | display: flex | 要素はブロック要素のように動作し、flexbox モデルに従ってコンテンツをレイアウトします。 |
.ion-display-inline-flex | display: inline-flex | 要素はインライン要素のように動作し、flexbox モデルに従ってコンテンツをレイアウトします。 |
.ion-display-grid | display: grid | 要素はブロック要素のように動作し、グリッドモデルに従ってコンテンツをレイアウトします。 |
.ion-display-inline-grid | display: inline-grid | 要素はインライン要素のように動作し、グリッドモデルに従ってコンテンツをレイアウトします。 |
.ion-display-table | display: table | 要素は HTML の<table>要素のように動作します。ブロックレベルのボックスを定義します。 |
.ion-display-table-cell | display: table-cell | 要素は HTML の<td>要素のように動作します。 |
.ion-display-table-row | display: table-row | 要素は HTML の<tr>要素のように動作します。 |
レスポンシブ Display クラス
上記のすべての display クラスには、画面サイズに基づいて display を変更する追加のクラスがあります。各クラスでdisplay-の代わりにdisplay-{breakpoint}-を使用して、特定の画面サイズでのみクラスを使用します。{breakpoint}はIonic Breakpointsにリストされているブレークポイント名の 1 つです。
以下の表は、デフォルトの動作を示しています。{modifier}は、上記で説明されているように、none、inline、inline-block、block、flex、inline-flex、grid、inline-grid、table、table-cell、table-rowのいずれかです。
| Class | 説明 |
|---|---|
.ion-display-{modifier} | すべての画面サイズで要素に修飾子を適用します。 |
.ion-display-sm-{modifier} | min-width: 576pxのときに要素に修飾子を適用します。 |
.ion-display-md-{modifier} | min-width: 768pxのときに要素に修飾子を適用します。 |
.ion-display-lg-{modifier} | min-width: 992pxのときに要素に修飾子を適用します。 |
.ion-display-xl-{modifier} | min-width: 1200pxのときに要素に修飾子を適用します。 |
非推奨クラス
以下のクラスは非推奨であり、次のメジャーリリースで削除されます。代わりに推奨される.ion-display-*クラスを使用してください。
| Class | 説明 |
|---|---|
.ion-hide | すべての画面サイズで要素にdisplay: noneを適用します。 非推奨 — 代わりに ion-display-noneク ラスを使用してください。 |
.ion-hide-sm-{dir} | min-width: 576px(up)またはmax-width: 576px(down)のときに要素に修飾子を適用します。 非推奨 — 代わりに ion-display-sm-{modifier}クラスを使用してください。 |
.ion-hide-md-{dir} | min-width: 768px(up)またはmax-width: 768px(down)のときに要素に修飾子を適用します。 非推奨 — 代わりに ion-display-md-{modifier}クラスを使用してください。 |
.ion-hide-lg-{dir} | min-width: 992px(up)またはmax-width: 992px(down)のときに要素に修飾子を適用します。 非推奨 — 代わりに ion-display-lg-{modifier}クラスを使用してください。 |
.ion-hide-xl-{dir} | min-width: 1200px(up)またはmax-width: 1200px(down)のときに要素に修飾子を適用します。 非推奨 — 代わりに ion-display-xl-{modifier}クラスを使用してください。 |
コンテンツのスペース
Padding
padding 属性は、要素の padding エリアを設定しま す。padding エリアは、要素のコンテンツとその境界線のスペースです。
padding で適用されるデフォルトの数値は 16px で、これは --ion-padding 変数で設定することができます。これらの値を変更する方法については CSS Variables をご覧ください。
<ion-grid>
<ion-row>
<ion-col class="ion-padding">
<div>padding</div>
</ion-col>
<ion-col class="ion-padding-top">
<div>padding-top</div>
</ion-col>
<ion-col class="ion-padding-start">
<div>padding-start</div>
</ion-col>
<ion-col class="ion-padding-end">
<div>padding-end</div>
</ion-col>
</ion-row>
<ion-row>
<ion-col class="ion-padding-bottom">
<div>padding-bottom</div>
</ion-col>
<ion-col class="ion-padding-vertical">
<div>padding-vertical</div>
</ion-col>
<ion-col class="ion-padding-horizontal">
<div>padding-horizontal</div>
</ion-col>
<ion-col class="ion-no-padding">
<div>no-padding</div>
</ion-col>
</ion-row>
</ion-grid>
| Class | Style Rule | 説明 |
|---|---|---|
.ion-padding | padding: 16px | すべての側にパディングを適用します。 |
.ion-padding-top | padding-top: 16px | 上部にパディングを適用します。 |
.ion-padding-start | padding-start: 16px | 開始側にパディングを適用します。 |
.ion-padding-end | padding-end: 16px | 終了側にパディングを適用します。 |
.ion-padding-bottom | padding-bottom: 16px | 下部にパディングを適用します。 |
.ion-padding-vertical | padding: 16px 0 | 上下にパディングを適用します。 |
.ion-padding-horizontal | padding: 0 16px | 左右にパディングを適用します。 |
.ion-no-padding | padding: 0 | すべての側にパディングを適用しません。 |
Margin
Margin エリアは、隣り合う要素とのスペースを広げるために境界線の外に空のエリアをつくるためのものです。
margin はデフォルトで 16px が設定されており、 --ion-margin 変数で設定されています。 これらの値を変更する方法については CSS Variables をご覧ください。
<ion-grid>
<ion-row>
<ion-col class="ion-margin">
<div>margin</div>
</ion-col>
<ion-col class="ion-margin-top">
<div>margin-top</div>
</ion-col>
<ion-col class="ion-margin-start">
<div>margin-start</div>
</ion-col>
<ion-col class="ion-margin-end">
<div>margin-end</div>
</ion-col>
</ion-row>
<ion-row>
<ion-col class="ion-margin-bottom">
<div>margin-bottom</div>
</ion-col>
<ion-col class="ion-margin-vertical">
<div>margin-vertical</div>
</ion-col>
<ion-col class="ion-margin-horizontal">
<div>margin-horizontal</div>
</ion-col>
<ion-col class="ion-no-margin">
<div>no-margin</div>
</ion-col>
</ion-row>
</ion-grid>
| Class | Style Rule | 説明 |
|---|---|---|
.ion-margin | margin: 16px | すべての側にマージンを適用します。 |
.ion-margin-top | margin-top: 16px | 上部にマージンを適用します。 |
.ion-margin-start | margin-start: 16px | 開始側にマージンを適用します。 |
.ion-margin-end | margin-end: 16px | 終了側にマージンを適用します。 |
.ion-margin-bottom | margin-bottom: 16px | 下部にマージンを適用します。 |
.ion-margin-vertical | margin: 16px 0 | 上下にマージンを適用します。 |
.ion-margin-horizontal | margin: 0 16px | 左右にマージンを適用します。 |
.ion-no-margin | margin: 0 | すべての側にマージンを適用しません。 |
Flex コンテナプロパティ
Flexbox プロパティは、すべての flex アイテムのレイアウトを制御するコンテナプロパティと、個々の flex アイテムを制御するアイテムプロパティの 2 つのカテゴリに分けられます。アイテムレベルの配置については、Flex Item Propertiesを参照してください。
Align Items
align-items CSS プロパティは、すべての直接の子要素をグループとしてalign-self値を設定します。flexbox では、交差軸上のアイテムの配置を制御します。グリッドレイアウトでは、グリッド領域内のブロック軸上のアイテムの配置を制御します。
Ionic はalign-items用に以下のユーティリティクラスを提供します:
| Class | Style Rule | 説明 |
|---|---|---|
.ion-align-items-start | align-items: flex-start | アイテムは交差軸の開始側に詰められます。 |
.ion-align-items-end | align-items: flex-end | アイテムは交差軸の終了側に詰められます。 |
.ion-align-items-center | align-items: center | アイテムは交差軸に沿って中央揃えされます。 |
.ion-align-items-baseline | align-items: baseline | アイテムはベースラインが揃うように配置されます。 |
.ion-align-items-stretch | align-items: stretch | アイテムはコンテナを埋めるように伸ばされます。 |