親要素に対する 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 の関数

推薦する

標準SQL更新ステートメントの3つの用途についての簡単な理解

1. 環境: MySQL-5.0.41-win32 Windows XP プロフェッショナル2. テ...

Webフロントエンドインターフェースの設計に必須のスキル

[必須] ユーザーインターフェースPhotoShop/花火デザインアーティストと協力して、スケッチを...

Vue の新しい組み込みコンポーネントの使用方法の詳細な説明

目次1. テレポート1.1 テレポートの紹介1.2 テレポートの使用1.3 プレビュー効果2. サス...

Vue.jsはアイコンをクリックしてズームインし、

前回の記事では、Vue で画像の切り抜きや拡大・縮小、回転を実現する方法を紹介しました。今回は、アイ...

Tomcat 初回展開 Web プロジェクト プロセス図

独自のWebプロジェクトをtomcatディレクトリの下のwebappsディレクトリに配置します。 R...

画像比較を実現するjQueryプラグイン

この記事の例では、画像比較を実現するためのjQueryプラグインの具体的なコードを参考までに共有して...

Linux仮想マシンをWiFiに接続する方法

生活の中で、インターネットはどこにでもあります。インターネットを通じてゲームをしたり、テレビ番組を見...

Youdaの新しいプチビューの実装

目次序文導入ライブ使いやすいルートスコープマウント要素の指定ライフサイクルコンポーネントグローバル状...

NavicatがLinuxサーバー上のMySQLに接続できない問題を解決する

最初は悲しい気持ちになりました。スクリーンショットは以下の通りです。 少し苦労しましたが、解決策は次...

Linuxグループの基礎知識ポイントまとめ

1. Linuxグループの基本紹介Linux では、すべてのユーザーはグループに所属する必要があり、...

Linux で起動時にプログラムを自動的に実行させる最も簡単な方法

たくさん集めましたが、すべて失敗に終わりました。最終的に、この方法は優れており、使用に影響を与えない...

Docker ベースの Redis 1 マスター、2 スレーブ、3 センチネルの実装

現在、Redis とコンテナについて学習中なので、Docker を使用して Redis マスタースレ...

Ubuntu で FTP サーバーを構築する方法の詳細な説明 (成功保証)

1. 今日の午後、コースの要件により、Ubuntu で FTP サーバーを設定する実験を行う必要が...

MySQL シャーディング入門ガイド

序文リレーショナル データベースは、システムのボトルネックになる可能性が高くなります。単一のマシンの...

MySQLデータベースがNULLを可能な限り避ける理由

MySQL の多くのテーブルには、NULL が列のデフォルト属性であるため、アプリケーションが NU...