親要素に対する CSS 子要素の固定配置ソリューションの詳細な説明

親要素に対する CSS 子要素の固定配置ソリューションの詳細な説明

基本概念

絶対配置: 絶対配置に設定された要素ボックスはドキュメント フローから完全に削除され、その包含ブロック (ドキュメント内の別の要素または最初の包含ブロック) を基準に配置されます。通常のドキュメント フローで要素が以前に占めていたスペースは、要素が存在しなかったかのように閉じられます。配置された要素は、通常のフローで生成されるボックスの種類に関係なく、ブロックレベル ボックスを生成します。

https://www.w3school.com.cn/css/css_positioning_absolute.asp

相対配置: 相対配置に設定された要素ボックスは、一定の距離だけオフセットされます。要素は配置されていない形状を保持し、元々占めていたスペースが保持されます。

https://www.w3school.com.cn/css/css_positioning_relative.asp

問題分析

絶対配置された要素は、最も近い配置された祖先を基準として配置されます。要素に配置された祖先がない場合、その要素は最初の包含ブロックを基準として配置されます。

ポジショニングで最も重要なことは、それぞれのポジショニングが何を意味するかを覚えておくことです。それでは、これまで学んだことを復習しましょう。相対配置はドキュメント内の要素の初期位置を基準としますが、絶対配置は最も近い配置された祖先、または配置された祖先がない場合は初期包含ブロックを基準とします。

注: ユーザー エージェントに応じて、初期の包含ブロックはキャンバスまたは HTML 要素になる場合があります。

ヒント: 絶対位置に配置されたボックスはドキュメント フローに依存しないため、ページ上の他の要素と重なる可能性があります。 z-index プロパティを設定することで、これらのボックスの積み重ね順序を制御できます。

解決

<div class="アシスター">
  <div class="parent">
    <div class="child"></div>
    <div class="プレースホルダー"></div>
  </div>
</div>
<スタイル>
.assistor {
  位置: 相対; /*キーポイント*/
  表示: ブロック;
  幅: 500ピクセル;
  高さ: 300px;
  マージン: 100px 自動 0 自動;
  背景色: #ddd;
}
。親 {
  幅: 500ピクセル;
  高さ: 300px;
  背景色: #888;
  overflow: auto; /*キーポイント*/
}
。子供 {
  position: absolute; /*キーポイント*/
  幅: 120ピクセル;
  高さ: 120px;
  マージン: 100px 50px;
  背景色: #333;
}
.プレースホルダー{
  幅: 1000ピクセル;
  高さ: 1000ピクセル;
}
<スタイル>

子は assistantposition: absolute を基準に配置され、親のコンテンツがそれ自体を表示する役割を担います。

アシスタントが親と同じサイズである限り、子要素は親要素に対して固定されているように見えます。

具体的な原則: position: absolute; の要素は、position: relative; の最初の祖先要素を基準に配置され、アシスタントは position: reletive; に設定され、スクロール バーは親にあり、position: fixed; で親のコンテンツのスクロールが実現されます。

参考文献

https://www.cnblogs.com/qqfontofweb/p/7813718.html

これで、親要素に対する子要素の固定配置に関する CSS ソリューションの詳細な説明は終了です。親要素に対する CSS 固定配置に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  ユーザーがフォームを繰り返し送信するのを防ぐ方法の概要

>>:  TypeScript の関数

推薦する

Vue.js プロジェクトの開始方法

目次1. Node.jsとVue 2. ローカル開発環境でフロントエンドのVueプロジェクトを実行す...

webpackが静的リソースキャッシュを実装する方法

目次導入複数の異なるハッシュを区別するハッシュチャンクハッシュコンテンツハッシュjs キャッシュの実...

Windows で MySQL のルート パスワードをリセットする方法

今日、WordPress がデータベースに接続できないことがわかりました。ウィンドウ サーバーにログ...

フォームにファイルをアップロードした後にアクションを保存するよう促す理由と解決策

jsonデータはhtml形式で返される必要がありますつまり、 response.setContent...

FirefoxでCookieとお気に入りをインポートおよびエクスポートする方法

Firefox は、多くの拡張機能とプラグインを備えた、よく使用されるブラウザです。IE に比べて多...

git bash を使用して Linux にログインするための ssh の設定方法

1. まず、Linux サーバー上で公開鍵ファイルと秘密鍵ファイルを生成します。デフォルトの保存ディ...

MySQL 8.0 ディクショナリテーブル拡張の詳細な説明

MySQL のデータ ディクショナリは、データベースの重要なコンポーネントの 1 つです。INFOR...

HTML+SassはHambergurMenu(ハンバーガーメニュー)を実装します

先日、外国人の方がHTML+CSSを使ってHamburgerMenuを実装している動画を見ました。最...

知っておくべき 7 つのネイティブ JS エラーの種類

目次概要1. 範囲エラー2. 参照エラー3. 構文エラー4. タイプエラー5. URIエラー6. 評...

vmware14Pro で Ubuntu システム インターフェイスが小さすぎる問題の解決方法の詳細な説明

1. 動作環境vmware14proウブントゥ 16.04LTS 2. 問題の説明vmware14P...

vueはEle.me UIを使用してteambitionのフィルタリング機能を模倣します

目次問題の説明一般的な機能効果は次のとおりです。思考分析完全なコード要約する問題の説明Teambit...

Tomcat プロジェクトを展開する一般的な方法のいくつか [テスト済み]

1 / Webプロジェクトファイルをwebappsディレクトリに直接コピーするこれは最も一般的に使...

JavaScript のプロトタイプとプロトタイプチェーンの詳細な説明

目次プロトタイプチェーン図プロトタイピングに必須の知識プロトタイププロパティ(プロトタイプを表示) ...

grpc のリバース プロキシとして nginx を使用する場合の落とし穴の概要

背景ご存知のとおり、nginx は高性能な Web サーバーであり、負荷分散やリバース プロキシによ...

MySQLからデータをインポートする際の不正なフォーマット、インポートの遅延、データ損失などの問題を迅速に解決します。

遅い問題を完全に解決したい場合は、MySQL を MySQL 8.0 にアップグレードすることをお勧...