レイアウト マネージャーの仕組み (レイアウト マネージャーの内部) に関する情報を含むページへの回答またはリンクを入力しますか?
一般的に。ブラウザに 2D (法線) コンポーネントを配置するため。javascriptでアプリケーションフレームワークのレイアウトマネージャーを構築したい
レイアウト マネージャーの仕組み (レイアウト マネージャーの内部) に関する情報を含むページへの回答またはリンクを入力しますか?
一般的に。ブラウザに 2D (法線) コンポーネントを配置するため。javascriptでアプリケーションフレームワークのレイアウトマネージャーを構築したい
私があなたの質問を理解していると仮定すると、レイアウトマネージャーが実行する典型的なタスクは次のとおりです。
各レイアウト コンポーネントの位置情報を追跡します。ブラウザーでは、css の位置関係を上、左、絶対、相対などにマッピングできるという意味まで行くことができます。マージン、パディング、ボーダーなどの影響を含みます。
これは同じポイントと見なされる場合がありますが、レイヤー (通常はこの場合は z-index) を追跡することも重要です。
これを処理できる場合は、良いスタートを切ることができます。テンプレートまたはスキーマに基づいて再配置できるレイアウト形式を設計することで、さらに一歩進めることができることも非常に便利です。
更新:どのサイズが優先されるかについては、あなたが何を探しているのかわかりません. すでに JavaScript を使用している場合は、クロスブラウザーを維持するために、css に沿って最小幅と最大幅の間の幅を動的に維持することをお勧めします。ノード構造の読み取りとその処理は、多少の好みの問題であり、設計の問題です。私自身の経験では、ノードの最も子の「レイヤー」、特にすべてのコンテンツ保持ノードをコードの一部に抽象化し、最も親のノードを別の部分に抽象化すると便利です。これらは厳密には上部ノードと下部ノードではありませんが、一部のコンテンツにはサブノードがあるため、
<b>
たとえばタグ。その後、コンテナーの別の抽象化を行い、最終的にこれら 3 つのレイヤーの関係を使用してすべてのノードを説明します。em、ex などの相対的な長さまたはパーセンテージを使用して「メイン」要素を配置し、
<div style="position: relative">
ラッパーで子の絶対配置を使用するか、余白を使用して相対的な長さから追加または減算することでフォローアップする場合、..さまざまなブラウザーやさまざまなエンドユーザーの画面解像度で、厳密に一致する表示を生成できます。また、リファレンスとして基本的な HTML/CSS デザインのベスト プラクティスを参照し、それらを簡単に実装してみてください。