Grid は 2 次元のグリッド レイアウト システムです。これを使用すると、本質的にはハック メソッドである CSS グリッド レイアウトは、ページを複数のメイン領域に分割し、これらの領域のサイズ、位置、階層、その他の関係を定義するのに適しています (HTML がこれらの領域を生成する場合)。 テーブルと同様に、グリッド レイアウトを使用すると、要素を行または列に配置できます。 ただし、レイアウトに関しては、テーブルよりもグリッドの方が実行しやすいか簡単です。 グリッドレイアウトの概念 学習する前に、グリッドの次の概念を理解する必要があります。 グリッドトラック グリッド トラックは、2 つのグリッド ライン間のスペースです。これらは 上の図には 2 行 3 列があります。行または列はトラックと呼ばれます。 グリッド線
グリッド線は番号で指定できます。左から右に書く言語では、 グリッドセル
グリッドエリア グリッド領域は、1 つ以上のグリッド セルで構成されるグリッド内の長方形領域です。本質的には、グリッド領域は長方形でなければなりません。たとえば、T 字型または L 字型のグリッド領域を作成することはできません。 雨どい グリッドガターはグリッドトラック間の間隔であり、 グリッドレイアウトの使用 flex と同様に、グリッド レイアウトを使用するには、まずコンテナーが必要です。要素の コンテナのプロパティ グリッドテンプレート グリッド コンテナーを作成したら、グリッドの行と列の数、および各行と列のサイズを定義できます。 グリッドテンプレート行 グリッドの行数を明示的に定義するには、
グリッドテンプレート列 これは 。容器 { 表示: グリッド; グリッドテンプレートの列: 40px 50px 自動 50px 40px; グリッドテンプレート行: 25% 100px 自動; } 。容器 { 表示: グリッド; グリッドテンプレートの列: 1fr 1fr 1fr; グリッドテンプレートの行: 100px 100px; } グリッドで利用可能な機能 グリッドレイアウトでは、次の3つの機能も使用できます。 繰り返す() たとえば、上記の コンテナーに明示的なサイズまたは最大サイズがある場合、繰り返し回数は、グリッドがグリッド コンテナーをオーバーフローしない最大の正の整数になります。繰り返し回数がオーバーフローする場合は、繰り返し回数は 1 になります。 グリッド項目が配置された後、空の繰り返しトラックが折りたたまれる点を除いて、 #容器 { 表示: グリッド; グリッドテンプレートの列: repeat(2, 50px 1fr) 100px; グリッドギャップ: 5px; ボックスのサイズ: 境界線ボックス; 高さ: 200px; 幅: 100%; 背景色: #8cffa0; パディング: 10px; } #コンテナ > div { 背景色: #8ca0ff; パディング: 5px; } 最小最大() 長さと幅の範囲を持つ閉じた間隔を定義します。最小値と最大値の 2 つのパラメータを受け入れます。この間隔内の値を返します。 たとえば、 コンテンツに合わせる() これは コンテンツとパラメータの最小値から最大値を取得し、次にコンテンツの最大値から最小値を取得します。 つまり、コンテンツが小さい場合はコンテンツの長さを取ります。コンテンツが大きく、コンテンツの長さがパラメータの長さより大きい場合は、パラメータの長さを取ります。 グリッドテンプレート領域 この属性グリッド ブロックは 文字列の場合、指定された各文字列によって行が生成され、文字列内のスペースで区切られた各セルによって列が生成されます。隣接する行または列にまたがる同じ名前の複数のセルは、グリッド領域と呼ばれます。長方形以外のグリッド ブロックは無効です。 #ページ { 表示: グリッド; 幅: 100%; 高さ: 250px; グリッド テンプレート領域: "head head" 「ナビメイン」 「ナビフット」; グリッドテンプレート行: 50px 1fr 30px; グリッドテンプレート列: 150px 1fr; } #ページ > ヘッダー { グリッドエリア: ヘッド; 背景色: #8ca0ff; } #ページ > ナビゲーション { グリッドエリア: nav; 背景色: #ffa08c; } #ページ > メイン { グリッドエリア: メイン; 背景色: #ffff64; } #ページ > フッター { グリッドエリア: フィート; 背景色: #8cffa0; }
グリッドテンプレート これは、 その価値は3つのケースに分けられます。
.ページ { グリッドテンプレート: [ヘッダー上部] "aa a" [ヘッダー下部] [メイントップ] "bb b" 1fr [メインボトム] / 自動 1fr 自動; } /* line-names はオプションで、カスタム名であり、括弧で囲む必要があります。これは実際にはコメント文字列 grid-area の関連値 track-size と同等であり、この行のサイズです */ #ページ { 表示: グリッド; 幅: 100%; 高さ: 200px; グリッドテンプレート: [ヘッダー左] "head head" 30px [ヘッダー右] [メイン左] 「ナビメイン」 1fr [メイン右] [フッター左] 「ナビゲーション フッター」 30 ピクセル [フッター右] / 120ピクセル 1fr; } ヘッダー { 背景色: ライム; グリッドエリア: ヘッド; } ナビゲーション{ 背景色: 水色; グリッドエリア: nav; } 主要 { 背景色: 黄色; グリッドエリア: メイン; } フッター { 背景色: 赤; グリッド列: フィート; } グリッド行ギャップ / 行ギャップ 行要素間のガター サイズを設定するために使用されます。値は長さ、パーセンテージ、または CSS グリッド レイアウトは、もともと grid-row-gap プロパティを使用して定義されていましたが、現在は row-gap に置き換えられています。ただし、row-gap プロパティをサポートしていないブラウザとの互換性を保つには、プレフィックス付きのプロパティを使用する必要があります。 。箱{ グリッド行間隔: 1em; } グリッド列ギャップ / 列ギャップ 要素列間のガター サイズを設定するために使用されます。値は長さ、パーセンテージ、または 複数列レイアウトの .ページ { グリッド列の間隔: 1em; } グリッドギャップ / ギャップ これは上記 2 つのプロパティの省略形であり、構文は これも徐々に #グリッド{ 表示: グリッド; 高さ: 200px; グリッドテンプレート: repeat(3, 1fr) / repeat(3, 1fr); ギャップ: 20px 5px; } #グリッド > div { 背景色: ライム; } 暗黙的に作成された行と列 CSS グリッドは、周囲の項目のサイズとスパンに基づいて、グリッド上の各項目の位置を自動的に調整します。 例えば: 。箱 { 表示: グリッド; グリッドテンプレート: 25px / 100px 160px; 背景: #000; } 。箱 * { 背景: #ccc; } .box *:n番目の子(偶数) { 背景: #777; } 1 行と 2 列のみ定義しました。しかし、子要素は 5 つあります。 CSS グリッドは、暗黙的に作成されたスペースにそれらを拡張することを決定し、新しく作成された暗黙的な行の列は、以前に指定された グリッド アイテムには、 グリッド自動行 暗黙的に作成される行のサイズを指定します。その値は次のとおりです。
その値は 。箱 { 表示: グリッド; グリッドテンプレート: 25px / 100px 160px; ギャップ: 10px 20px; グリッド自動行: 50px; 背景: #000; } 。箱 * { 背景: #ccc; } .box *:n番目の子(偶数) { 背景: #777; } グリッド自動列 暗黙的に作成されたグリッドの列幅を指定します。その値は #グリッド{ 高さ: 100px; 表示: グリッド; グリッドテンプレート領域: "a a"; グリッドギャップ: 10px; グリッド自動列: 200px; } #グリッド > div { 背景色: ライム; } グリッド自動フロー 自動レイアウト アルゴリズムの動作を制御し、自動的にレイアウトされる要素がグリッド内でどのように配置されるかを正確に指定します。 1 つの
これら 2 つのキーワードの後に、 このキーワードは、自動レイアウト アルゴリズムが「高密度」パッキング アルゴリズムを使用することを指定します。このアルゴリズムは、グリッド内の小さな要素によって残されたギャップを埋めようとします。これにより、大きな要素によって残されたギャップが埋められますが、元の表示順序が乱れる可能性もあります。 省略すると、「スパース」アルゴリズムが使用され、レイアウト アルゴリズムはグリッドに要素をレイアウトするときに「前方」にのみ移動し、ギャップを埋めるために後戻りすることはありません。これにより、後続の要素によって埋められるギャップが残る場合でも、すべての自動レイアウト要素が「順番どおり」に表示されるようになります。 グリッド
他のショートハンド プロパティと同様に、サブプロパティのいずれかが宣言されていない場合は、その初期値が使用されます。さらに、この省略宣言ではグリッドのガターは設定されませんが、この宣言によってガターがリセットされます。 その価値は3つのカテゴリーに分けられます
これは、 たとえば、 この書き方は前の方法と逆です。この方法では グリッド項目のプロパティ グリッド行開始、グリッド行終了、グリッド列開始、グリッド列終了 グリッド内のグリッド項目の行開始位置、行終了位置、列開始位置、列終了位置をそれぞれ指定します。 これには、前に紹介したグリッド線の概念を理解する必要があります。水平線 (行) は上から下に向かって増加し、垂直線 (列) は左から右に向かって増加し、どちらも 1 から始まります。 以下の値を取ることができます。 これは 指定されたサイズを超えて位置を設定すると、不安定な結果になるので避けてください。 。箱 { 表示: グリッド; グリッド: 100px 100px / 100px 100px; 背景: #000; } 。箱 * { 背景: #ccc; } .box *:n番目の子(偶数) { 背景: #777; } .box1 { グリッド列の開始: スパン 5; } グリッド行、グリッド列
値の構文は 列数が不明な場合は、 負の値の使用 グリッドエリア 上記では デフォルト値は 4つの値が設定されている場合、順序は次のようになります。 3つの値が設定されている場合、最後の値は 2つの値が設定されている場合、最後の2つは 1つの値を設定すると、次の3つは 最初の項目が .box1 { グリッドエリア: a / a; } /* 同等 */ .box1 { グリッド行開始: a; グリッド列の開始: a; グリッド行の終了: a; グリッド列の終了: a; } グリッド項目のコンテンツ配置
整列-自己 Flex レイアウトでもこのプロパティを使用できます。一般的に、次の 3 つの値が使用されます。
自分を正当化する 一般的に、次の 3 つの値が使用されます。
以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 |
この記事では、MySQL 8.0のインストールと設定方法を参考までに紹介します。具体的な内容は以下の...
この記事では、参考までに、NFC読み取り機能を実装するためのuni-appの具体的なコードを紹介しま...
MySQL ストアド プロシージャ パラメータには、in、out、inout の 3 種類があります...
1. 約束の説明Promise は、非同期操作の最終状態 (失敗または正常完了) とその結果の値を...
1. CSS背景タグ1.背景色を設定するbackground-ground-color プロパティは...
序文Vue Router は、Vue.js の公式ルーティング マネージャーです。 Vue.js の...
1. redisイメージを検索する docker 検索 redis 2. Redisイメージをダウン...
以前、UDP を使い始めるために簡単な UDP サーバーとクライアントの例を作成しましたが、実際に使...
プロキシを有効にする2つの方法React には、直接使用できるカプセル化された Ajax リクエスト...
目次背景制限の最適化最適化方法1. カバーインデックスを使用する2. サブクエリの最適化3. 遅延連...
目次1. 観察可能2. 高階関数3. エクスプレスボックスモデル3.1. エクスプレスボックスモデル...
1 問題の説明この記事では、確立された複合インデックスをソートし、レコード内の非インデックス フィー...
序文システムをインストールしたときに、パーティション領域を適切に割り当てませんでした。その後のメンテ...
目次最適化の第一歩: 軽量ベースイメージの使用第2段階の最適化:多段階構築Docker は、ソフトウ...
目次序文:暗号化アルゴリズム: 1. HTTPS の概要2. NginxはHTTPSウェブサイト設定...