目次
1. 概要
2. トラック サイズ: Grid-template-rows と Grid-template-columns
3. 名前付きエリア: Grid-template-areas 属性
ホームページ ウェブフロントエンド htmlチュートリアル CSS3 グリッド レイアウト (グリッド レイアウト) の基礎知識

CSS3 グリッド レイアウト (グリッド レイアウト) の基礎知識

Jun 24, 2016 am 11:29 AM

CSS3 では、ディスプレイおよびデザイン テクノロジ (特にモバイル ファーストのレスポンシブ デザイン) の発展に適応するための新しいグリッド レイアウトが導入されています。

主な目標は、これまでのテーブル、フロー、JS スクリプトの不安定で扱いにくいハイブリッド テクノロジによって実現されていた動的な Web ページ レイアウトを置き換える、安定した予測可能で意味的に正しい Web ページ レイアウト モデルを確立することです。


この記事では、グリッド レイアウト属性の基本概念と使用法を簡潔かつ正確に紹介します (Tade.com のオンライン HTML5 チュートリアルから抜粋)。

1. 概要

グリッド テンプレート領域 (grid-template-areas)、グリッド テンプレート行 (grid-template-rows)、およびグリッド テンプレート列 (grid-template-columns)、これら 3 つの属性は一緒に明示的にグリッド コンテナーを定義します。 。

grid-template 属性は、これら 3 つの属性を同時に設定するための短縮形です。グリッド項目のコンテンツは明示的なグリッドを超える場合があります。この場合、グリッド コンテナーは暗黙的なトラックのサイズを Grid-auto-rows プロパティと Grid-auto-columns プロパティによって決定します。

明示的なグリッドのサイズは、グリッド テンプレート領域で定義された行/列の数と、グリッド テンプレートの行/グリッド テンプレートの列プロパティで定義された寸法を持つ行/列の数の大きい方によって決まります。

グリッド テンプレート領域によって定義されているが、グリッド テンプレートの行/グリッド テンプレート列に次元が定義されていない行または列は、grid-auto-rows プロパティまたは Grid-auto-columns プロパティによってサイズ設定されます。

明示的な軌道が定義されていない場合でも、明示的なグリッドには各軸にグリッド線が含まれます。

グリッド配置プロパティの数値インデックスは、明示的なグリッドの端から計算されます。開始側から開始する場合、インデックスは 1 から始まる正の数になります。逆に端側からは-1から始まる負の数となります。

2. トラック サイズ: Grid-template-rows と Grid-template-columns


これら 2 つの属性は、スペースで区切られた一連のトラック リスト (トラック リスト自体) を定義するために使用されます。 use Grid グリッド名とトラック サイズ関数が定義されています。

トラック サイズ関数は、実際の充填内容 (最小コンテンツなど) に基づいて計算された特定の長さ、グリッド コンテナーに対する相対的なパーセンテージ、または利用可能なスペースのフラグメントにすることができます。

minmax(min,max) 関数を使用して、最小値と最大値の間のサイズの長さの範囲を指定することもできます。min/max パラメーターでは、前述のサイズ定義方法も使用できます。

grid-template-columns プロパティはグリッド列のトラック リストを指定し、grid-template-rows プロパティはグリッド行のトラック リストを指定します。

3. 名前付きエリア: Grid-template-areas 属性



この属性は、特定のグリッド項目に関連しないが、グリッドの配置 (グリッド配置) で使用できる名前付きグリッド エリアを指定します。で引用された属性。

grid-template-areas 属性は視覚的なグリッド構造も提供し、グリッド コンテナーの全体的なレイアウトを理解しやすくします。


+ は一連の文字列を表します。

グリッド テンプレート エリア属性内の個々の文字列 (文字列) は行を定義し、文字列内の各セル (セル) は列を定義します。

ブラウザは最長一致セマンティクスを使用して文字列を次のトークン リストに解析します:

1. 名前付きセル トークン (名前付きセル トークン) を表す名前コード ポイントの文字列 (名前はコードで構成されます)。ポイント (Unicode エンコード空間内の文字)。

2. 単一または複数の「.」の文字列は、null セル トークンを表します。
3. 一連のスペース (空白) は、マークが生成されないことを意味します。
4. ゴミ箱トークンを表すその他の文字列。

4. アプリケーションの例

上記の説明は厳密ですが、少し厳格です。説明するために、引き続き、従来のレスポンシブな複数列と複数行のページ レイアウトの例を使用します。 HTML コード]

#page {  display: grid;  width: 100%;  height: 250px;  grid-template-areas: "head head"                       "nav  main"                       "foot ....";  grid-template-rows: 50px 1fr 30px;  grid-template-columns: 150px 1fr;}#page > header {  grid-area: head;  background-color: #8ca0ff;}#page > nav {  grid-area: nav;  background-color: #ffa08c;}#page > main {  grid-area: main;  background-color: #ffff64;}#page > footer {  grid-area: foot;  background-color: #8cffa0;}
ログイン後にコピー

上記のコードは、grid-template-areas を通じて 3 行 2 列の柔軟なレイアウトを定義します:

1. 2 つの隣接する head 文字列により、2 にまたがる head Area という名前のグリッドが生成されます。列;

2. ナビ、メイン、およびフット文字列はそれぞれ同じ名前の 3 つのグリッド領域を生成します

3. 4 つのポイント (....) を接続して空のグリッド領域を生成します。


次に、各行のトラックの高さは、grid-template-rows によって定義されます。

1 行目と 3 行目はそれぞれ 50 ピクセルと 30 ピクセルの固定高で、2 行目は利用可能なスペースである伸縮可能なサイズです。固定サイズを差し引いた後、弾性係数に従って、長さに比例して割り当てられます

ここには弾性サイズが 1 つだけあり、弾性係数は 1 です。これは、残りのスペース幅をすべて占めることを意味します (つまり、グリッド コンテナーの幅 - 50ピクセル - 30ピクセル)。


各列のトラック幅は、grid-template-columns によって定義されます。列 1 の幅は 150 ピクセルに固定されており、列 2 は水平方向の残りのスペースを占めます。

オンラインの例を通じて自分でテストできます: http://wow.techbrood.com/fiddle/15975

【注意: グリッドレイアウト関連の仕様はまだ作業草案の状態であるため、ブラウザで実際のテストを行って互換性を確認してください。 】


by iefreer

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLでの開始タグの例は何ですか? HTMLでの開始タグの例は何ですか? Apr 06, 2025 am 12:04 AM

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

HTML、CSS、およびJavaScriptの理解:初心者向けガイド HTML、CSS、およびJavaScriptの理解:初心者向けガイド Apr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

WebアノテーションにY軸位置の適応レイアウトを実装する方法は? WebアノテーションにY軸位置の適応レイアウトを実装する方法は? Apr 04, 2025 pm 11:30 PM

Y軸位置Webアノテーション機能の適応アルゴリズムこの記事では、単語文書と同様の注釈関数、特に注釈間の間隔を扱う方法を実装する方法を探ります...

HTML、CSS、およびJavaScript:Web開発者に不可欠なツール HTML、CSS、およびJavaScript:Web開発者に不可欠なツール Apr 09, 2025 am 12:12 AM

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

CSS3とJavaScriptを使用して、クリック後に周囲の写真を散乱および拡大する効果を実現する方法は? CSS3とJavaScriptを使用して、クリック後に周囲の写真を散乱および拡大する効果を実現する方法は? Apr 05, 2025 am 06:15 AM

画像をクリックした後、散乱と周囲の画像を拡大する効果を実現するには、多くのWebデザインがインタラクティブな効果を実現する必要があります。特定の画像をクリックして周囲を作成してください...

See all articles