flexとは何か、flexレイアウト構文の詳細なチュートリアル

flexとは何か、flexレイアウト構文の詳細なチュートリアル

フレックスレイアウト

Flex は Flexible Box の略で、「柔軟なレイアウト」を意味します。ボックス モデルに最大限の柔軟性を提供し、コンテナー内の要素 (アイテム) の配置を自由に操作するために使用されます。

任意のコンテナーを Flex レイアウトとして指定できます。

。箱{ 
      ディスプレイ: フレックス;
 }

インライン要素でも Flex レイアウトを使用できます。

 。箱{  
      ディスプレイ: インラインフレックス; 
  }

Webkit ベースのブラウザには -webkit プレフィックスが必要です。

。箱{
  display: -webkit-flex; /* Safari */
  ディスプレイ: フレックス;
}

Flex レイアウトに設定すると、子要素の float、clear、vertical-align プロパティが無効になることに注意してください。

コンセプト

Flex レイアウトを使用する要素は、Flex コンテナー、または略して「コンテナー」と呼ばれます。すべての子要素は自動的にコンテナ メンバーになり、Flex アイテム、または略して「アイテム」と呼ばれます。

ここに画像の説明を挿入

デフォルトでは、コンテナーには水平の主軸と垂直の交差軸の 2 つの軸があります。主軸の開始位置(境界との交点)を主開始、終了位置を主終了、交差軸の開始位置を交差開始、終了位置を交差終了と呼びます。

デフォルトでは、アイテムは主軸に沿って配置されます。 1 つのアイテムが占める主軸のスペースをメイン サイズと呼び、交差軸のスペースをクロス サイズと呼びます。

コンテナのプロパティ

コンテナの6つの特性

  • フレックス方向
  • フレックスラップ
  • フレックスフロー
  • コンテンツの正当化
  • アイテムを整列させる
  • コンテンツの位置揃え

1. flex-direction属性

flex-direction プロパティは、主軸の方向 (つまり、項目が配置される方向) を決定します。

。箱 {
  flex-direction: 行 | 行反転 | 列 | 列反転;
} 

ここに画像の説明を挿入

可能な値は4です

  • 行 (デフォルト): 主軸は水平で、開始点は左端になります。
  • row-reverse: 主軸は水平で、開始点は右端にあります。
  • 列: 主軸は垂直で、開始点は上端にあります。
  • column-reverse: 主軸は垂直で、開始点は下端にあります。

2. flex-wrapプロパティ

デフォルトでは、アイテムは線(「軸」とも呼ばれます)上に配置されます。 flex-wrap プロパティは、1 つの軸が収まらない場合に折り返す方法を定義します。

ここに画像の説明を挿入

。箱{
  flex-wrap: nowrap | wrap | wrap-reverse;
}

3 つの値を取る場合があります。

(1) nowrap(デフォルト):改行なし。

ここに画像の説明を挿入

(2) wrap:最初の行を上にして折り返します。

ここに画像の説明を挿入

(3) wrap-reverse:最初の行を下にして行を折り返します。

ここに画像の説明を挿入

3. flex-flow属性

flex-flow プロパティは、flex-direction プロパティと flex-wrap プロパティの短縮形であり、デフォルト値は row nowrap です。

。箱 {
  flex-flow: <flex-direction> || <flex-wrap>;
}

4. justify-content属性

justify-content プロパティは、項目を主軸上でどのように配置するかを定義します。

。箱 {
    コンテンツの配置: flex-start | flex-end | center |
    間のスペース | 周りのスペース;
} 

ここに画像の説明を挿入

5 つの値を取ることができ、具体的な配置は軸の方向によって異なります。以下では、主軸が左から右であると想定しています。

  • flex-start(デフォルト): 左揃え
  • flex-end: 右揃え
  • 中心:
  • space-between: 両端を揃え、項目間の間隔を等しくします。
  • space-around: 各項目の両側に等しいスペースが確保されます。したがって、項目間の間隔は、項目と境界線間の間隔の 2 倍になります。

5. align-items属性

align-items プロパティは、項目を交差軸上でどのように配置するかを定義します。

。箱 {
  align-items: flex-start | flex-end | center | baseline | Stretch;
} 

ここに画像の説明を挿入

5 つの値を取る場合があります。具体的な位置合わせ方法は交差軸の方向に関係します。以下では交差軸が上から下であると仮定します。

  • flex-start: 交差軸の開始点を揃えます。 flex-end: 交差軸の終点を揃えます。 center: 交差軸の中点を揃えます。ベースライン:
  • アイテム内の最初の行のテキストのベースライン配置。ストレッチ (デフォルト): アイテムの高さが設定されていない場合、または自動に設定されている場合、アイテムはコンテナーの高さ全体を占有します。

6. align-content属性

align-content プロパティは、複数の軸の配置を定義します。プロジェクトにグリッド ラインが 1 つしかない場合、このプロパティは効果がありません。

。箱 {
  align-content: flex-start | flex-end | center | space-between | space-around | Stretch;
} 

ここに画像の説明を挿入

この属性は 6 つの値を取ることができます。

  • flex-start: 交差軸の開始点に合わせます。
  • flex-end: 交差軸の終点に合わせます。
  • center: 交差軸の中心点に合わせます。
  • space-between: 交差軸の両端に合わせ、軸線間の間隔を均等に分散します。
  • space-around: 各軸の両側の間隔は等しくなります。したがって、軸間の距離は、軸と境界間の距離の 2 倍になります。
  • ストレッチ (デフォルト): 軸線が交差軸全体を占めます。

参考資料: http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

要約する

これで、flex とは何か、flex レイアウト構文の詳細なチュートリアルに関する記事は終了です。flex レイアウト構文の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  Docker で Jenkins-2.249.3-1.1 をインストールする詳細な手順

>>:  埋め込みJavaScriptと外部リンクの基本的な応用方法

推薦する

mysql5.7.19 winx64 解凍版のインストールと設定のチュートリアル

mysql 5.7.19 winx64解凍版のインストールチュートリアルを収録しました。具体的な内容...

HTML ページ ヘッダー コード例の詳細な説明

知識ポイント1: ヘッダー情報にWebページのベースURLを設定するベース URL の本質は、ハイパ...

レム適応の一般的なパッケージ3つについて

序文以前、rem適応についての記事を書きましたが、具体的なパッケージは紹介しませんでした。今日は、よ...

JS ES6 非同期ソリューション

目次最初にコールバック関数を使用するes6 非同期処理モデルこの非同期モデルに合わせたAPI: pr...

Vue3 プロジェクトで WeChat 認証ログインをエレガントに実装する方法

目次序文準備する実装のアイデアコードについて要約する序文WeChat 認証ログインは、WeChat ...

MySQL例外に対する一般的な解決策をいくつか分析する

目次序文1. コードによって設定されたデータベース名またはパスワードがローカルデータベースと一致して...

js 基本構文と Maven プロジェクト構成チュートリアル ケース

目次1. jsステートメント2番目、js配列3. js関数4. メイヴンV. 結論1. jsステート...

MySQL 外部キー設定方法の例

1. 外部キーの設定方法1. MySQL では、2 つのテーブルを関連付けるために、外部キー (FO...

MySQL の単一テーブル クエリ操作例の詳細な説明 [構文、制約、グループ化、集計、フィルタリング、並べ替えなど]

この記事では、MySQL の単一テーブル クエリ操作について説明します。ご参考までに、詳細は以下の通...

CSS 要約ノート: 変換、遷移、アニメーションの例

1.移行遷移プロパティの使用法: transition :transition-property t...

JavaScript BOMの構成と一般的なイベントの詳細な説明

目次1. 部品2. BOMの構成2. ウィンドウオブジェクトの共通イベント1. ウィンドウ読み込みイ...

各 Nginx プロセスで開くことができるファイルの最大数を設定する方法

1. システム内で開いているファイルの最大数を確認する #現在のリソース制限設定を表示する ulim...

Vue で PC 解像度の適応を実装するためのサンプルコード

目次プラン依存関係をインストールする依存関係の導入pxをremに変換するFlexible.jsを変更...

MySQLデータベースの圧縮バージョンのインストールと設定に関する詳細なチュートリアル

目次1. MySQLをダウンロードする2. 圧縮パッケージを解凍する3. MySQLを初期化する4....

Vueはキー表示のショートカットキー効果を取得する入力コンポーネントを実装します

ページ上でショートカットキーをカスタマイズする要件に遭遇し、ショートカットキーを設定して表示する場所...