検索
ホームページウェブフロントエンドjsチュートリアルJSを使って様々なグリッドレイアウトを素早く生成するツール Gridの紹介

ここ 2 日間で CSS のグリッド レイアウトについて学び、それが本当に便利であることがわかりました。いくつかのブログを読み、その共通のプロパティのいくつかを理解したら、グリッド レイアウトをすぐに生成できます。 Grid.js は、従来の float や位置決めなどと比較して、より体系的かつ標準化されており、規則的なグリッド レイアウトと不規則なグリッド レイアウトを動的に作成するための JavaScript を使用するモジュールです。 FE は new Grird(オプション) を使用して Grid インスタンスを作成でき、インスタンスの UI は CSS グリッド レイアウトとして表示されます。いくつかのハックが必要です。

グリッド レイアウトはすでに非常に優れていますが、一部のフロントエンド エンジニアは、p を動的に作成し、js を使用して p にスタイルを追加することで作業を完了することを好みます。

また、グリッド レイアウトを動的に生成するために JavaScript を使用する必要性から、小さなツール Grid.js が生まれました。

レンダリング

Grid.jsを使用して生成されたいくつかのレンダリングから始めましょう。
次の 4 つのレンダリングの親コンテナのサイズはすべて 600*600 ピクセルです。

最初のグリッドは 4X4 グリッドで、そのうちの 3 つは非原子サイズ (1X1)、つまり 2X2、2X2、2X1 です。
JSを使って様々なグリッドレイアウトを素早く生成するツール Gridの紹介

2 番目の画像は 5X5 の規則的なグリッドです。いわゆる規則的なグリッドは、すべてのサブ要素のサイズが 1X1 であることを意味します。
JSを使って様々なグリッドレイアウトを素早く生成するツール Gridの紹介

3 番目の写真は、5 つの非アトミック サイズのグリッドを含む 6X5 グリッドです。
JSを使って様々なグリッドレイアウトを素早く生成するツール Gridの紹介

4 番目の写真は、4 つの非アトミック サイズのグリッドを含む 7X7 グリッドです。
JSを使って様々なグリッドレイアウトを素早く生成するツール Gridの紹介

Grid.jsはes6クラスの構文で完成しているので使い方は非常に簡単です。 new Grid(オプション)を通じてグリッドインスタンスを生成できます。レンダリングの 2 番目の画像に基づいて生成された 5X5 グリッドのコードは次のとおりです:

<span style="font-size: 14px;">let grid = new Grid({<br>            container:document.getElementsByClassName('grid')[0],// 必须项<br>            colCount:5,<br>            rowCount:5,<br>            width:600,<br>            height:600,<br>        });<br></span>

各グリッドに異なるスタイルを設定したい場合は、外部 API メソッド
setGridStyleByIndex() を使用します。例としてレンダリング内のグリッドを使用します。背景スタイルの設定には 5 つの斜めのグリッドが使用されます。これらは次のコードによって完了します。外部 API メソッド

getGrid(n) を介して。 別の質問は、すべてのサブ要素 (小さなグリッド) の参照を取得する方法です。外部 API メソッド getGrids() を介して。

<span style="font-size: 14px;">grid.setGridStyleByIndex(0, {"background": "red"});<br>grid.setGridStyleByIndex(6, {"background": "green"});<br>grid.setGridStyleByIndex(12, {"background": "yellow"});<br>grid.setGridStyleByIndex(18, {"background": "blue"});<br>grid.setGridStyleByIndex(24, {"background": "orange"});<br></span>
上記のコードは、すべての小さなグリッドの参照を取得し、グリッドにテキスト コンテンツを埋めます。この例では、各小さなグリッドのテキスト コンテンツは、p リスト内の各小さなグリッドのインデックス + 1 です。
Grid.js API

最も核となるニーズを考慮すると、2 つのポイントがあります。1 つは比較的簡単に (少なくとも CSS を直接使用するのと同じくらい便利に) グリッド レイアウトを生成することです。もう 1 つは、グリッド レイアウトを作成し、それを使用して各グリッドを参照し、グリッドにコンテンツを追加します。したがって、主にこれら 2 つの側面について説明します。

パラメータを渡してグリッドインスタンスを生成する

異なる、規則的、および不規則なグリッドインスタンスを生成する方法は、主に新しいグリッド(オプション)を使用するときに渡すパラメータに依存します。渡すことができるパラメータは次のとおりです。 。

名前 タイプ 概要
コンテナ htmlDomElement 親コンテナ、必須アイテム
rowCount number グリッド行数
colCount number グリッド列数
number、% 親コンテナの幅
高さ 数値、% 親コンテナの高さ
pCount 数値 実際のグリッドの数
gridArea 配列 非1X1グリッドのプレースホルダー表現

pCountとgridArea配列の説明:
これらの2つのパラメータは不規則なグリッドレイアウトを生成するために使用されるため、このモジュールキー。それ以外の場合、このモジュールは n*m 個の規則的なグリッドを生成するためにのみ使用できます。

最初のレンダリングの 4X4 グリッドを例に挙げてみましょう。元々、3 つのグリッド 1、2、および 3 に行間および列間動作がある場合、pCount または GridArea を渡す必要はありません。このモジュールは 4X4=16 個の同一のグリッドを生成します。ただし、これら 3 つの大きなグリッドが存在するため、この親コンテナーは 16 個の子要素を収容できません。では、渡す pCount は何ですか? 1X1 以外の子グリッドがある場合、親コンテナーは適切であることを意味します。塗りつぶされたときのサブグリッドの数は 9. です。通常、設計図を入手した時点で、レイアウトはすでにわかっており、サブグリッドの数は簡単に計算できます (実際のシーンでは、数十倍の単純なグリッドを作成する必要がないため)。

これら 3 つの非 1X1 サブグリッドについては、このサブグリッドが複数の列にまたがる親グリッドのどの行、列、スパンを示すために、それぞれに配列を渡す必要があります。つまり、1X1 以外の各サブグリッドは長さ 4 の配列を渡す必要があります。次に、これらの配列をアウトソーシング配列に置きます。このアウトソーシング配列は、gridArea です。

レンダリング 1 の場合、gridArea = [[1,1,2,2],[2,3,2,2],[4,1,1,2]]。
4X4 グリッド全体には、1X1 以外のサイズのサブグリッドが 3 つあります。
[1,1,2,2] は、この 4X4 グリッドの最初の行と最初の列から始まるサブグリッドがあり、行と列にわたる値が 2 であることを意味します。

APIインターフェース

現在公開されているAPI

名前 パラメータタイプ 概要
setGridStyleByIndex(n,style) number,obj 最初のパラメータは小さいグリッドのインデックスです。たとえば、style={"color":"red"}
getGrids()。 なし すべてのサブグリッドp参照を取得
getGrid(n) number 特定のサブグリッドを取得

関連するおすすめ:

CSSグリッドレイアウトのサンプルコード

_jqueryを使用したjQueryモバイルページ開発におけるui-gridグリッドレイアウトの詳細説明

グリッドレイアウト方法の詳細説明

以上がJSを使って様々なグリッドレイアウトを素早く生成するツール Gridの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
JavaScriptエンジンの理解:実装の詳細JavaScriptエンジンの理解:実装の詳細Apr 17, 2025 am 12:05 AM

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Python vs. JavaScript:学習曲線と使いやすさPython vs. JavaScript:学習曲線と使いやすさApr 16, 2025 am 12:12 AM

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

Python vs. JavaScript:コミュニティ、ライブラリ、リソースPython vs. JavaScript:コミュニティ、ライブラリ、リソースApr 15, 2025 am 12:16 AM

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへ:すべてがどのように機能するかC/CからJavaScriptへ:すべてがどのように機能するかApr 14, 2025 am 12:05 AM

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

JavaScriptエンジン:実装の比較JavaScriptエンジン:実装の比較Apr 13, 2025 am 12:05 AM

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

ブラウザを超えて:現実世界のJavaScriptブラウザを超えて:現実世界のJavaScriptApr 12, 2025 am 12:06 AM

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合)next.jsを使用してマルチテナントSaaSアプリケーションを構築する(バックエンド統合)Apr 11, 2025 am 08:23 AM

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合)next.jsを使用してマルチテナントSaaSアプリケーションを構築する方法(フロントエンド統合)Apr 11, 2025 am 08:22 AM

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

See all articles

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

メモ帳++7.3.1

メモ帳++7.3.1

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

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 中国語版

SublimeText3 中国語版

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

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター