HTMLのposition属性の使い方(4種類)の詳しい説明

HTMLのposition属性の使い方(4種類)の詳しい説明

位置の 4 つのプロパティ値は次のとおりです。

1.相対的な
2.絶対
3.修正
4.静的

これら 4 つの属性については以下で説明します。

<div id="親">
     <div id="sub1">サブ1</div>
     <div id="sub2">サブ2</div>
</div>

1. 相対的な

相対プロパティは比較的単純です。どのオブジェクトに対して相対的にオフセットされるかを把握する必要があります。答えはその場所そのものです。上記のコードでは、sub1 と sub2 は兄弟です。たとえば、sub1 に相対属性を設定する場合は、次の CSS コードを設定します。

#サブ1
{
    位置: 相対的;
    パディング: 5px;
    上: 5px;
    左: 5px;
}

これを次のように理解することができます。相対属性が設定されていない場合、sub1 の位置は通常のドキュメント フローに従って特定の位置にある必要があります。しかし、sub1の位置を相対的に設定すると、本来あるべき位置に合わせて上、右、下、左の値に応じてオフセットされます。relativeの「相対的」という意味がここに反映されます。

このためには、relative が設定されていない場合は sub1 がどこにあるべきかを覚えておき、設定されたら、それがどこにあるべきかに応じてオフセットするだけです。

次の質問は、sub2 の場所はどこですか?答えは、元の位置にあり、sub1 が位置属性を追加したため、位置は変更されないということです。

sub2 の位置も相対的に設定した場合はどうなりますか?このとき、sub1 と同じまま、元の位置に合わせてオフセットされます。

相対オフセットはオブジェクトのマージンの左上を基準にしていることに注意してください。

2. 絶対的な

この属性は常に誤解を招きます。 position 属性が absolute に設定されている場合、常にブラウザ ウィンドウに従って配置されるというのは誤りです。実はこれが固定属性の特徴なのです。

sub1 の位置が絶対値に設定されている場合、オフセットの対象は誰ですか?ここでは 2 つの状況があります。

(1)sub1の親オブジェクト(または親オブジェクトであれば曽祖父オブジェクト)も位置属性を設定し、位置属性値が絶対値または相対値、つまりデフォルト値でない場合、sub1はこの親に従って配置されます。

オブジェクトは決定されていますが、注意が必要な詳細がいくつかあります。つまり、親のどのアンカー ポイントを配置に使用する必要があるかということです。親が margin、border、padding などのプロパティを設定している場合、このアンカー ポイントは padding を無視し、padding の先頭 (つまり、padding の左上隅からのみ) から配置されます。つまり、padding は無視されますが、margin と border は無視されません。

次の質問は、sub2 の場所はどこですか?位置が絶対値に設定されている場合、sub1 は通常のドキュメント フローをオーバーフローするため、親に属していないのと同じように、上に浮き上がります。DreamWeaver では、これは「レイヤー」と呼ばれ、実際には同じ意味です。この時点で、sub2 は sub1 の位置を取得し、そのドキュメント フローは sub1 に基づくのではなく、親から直接開始されます。

(2)sub1に位置属性を持つ親オブジェクトがない場合、bodyが配置オブジェクトとして使用され、ブラウザウィンドウに応じて配置が行われます。これは比較的理解しやすいです。

3. 修正

fixed は特別な絶対値です。つまり、fixed は常に body を配置オブジェクトとして受け取り、ブラウザウィンドウに応じて配置されます。スクロールバーをドラッグしても、その位置は変わりません。 background-attachment:fixed に類似

もちろん、Dreamweaverではサポートされていないようです

4. 静的

position 属性が設定されていない場合、position のデフォルト値は、通常のドキュメント フローに従って要素を配置することです。

要約する

上記はエディターが紹介した HTML の位置の使用方法です。皆様のお役に立てれば幸いです。ご質問がある場合はメッセージを残してください。エディターがすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

<<: 

>>:  MySQL-8.0.26 構成グラフィックチュートリアル

推薦する

間違った MySQL コマンドをキャンセルしたい場合はどうすればいいですか?

間違った mysql コマンドを入力したのでキャンセルしたいです。どうすればいいですか? ctrl ...

Bootstrap が人気な 11 の理由

序文最も人気のあるフロントエンド開発フレームワークである Bootstrap は、Web サイトの開...

Vueフォームバインディングとコンポーネントの詳細な説明

目次1. 双方向データバインディングとは1. データの双方向バインディングを実装する必要があるのはな...

VUE ユニアプリテンプレート構文についての簡単な説明

1.v-bind(略称:)コンポーネント プロパティのデータで定義されたデータ変数を使用するか、コン...

Vueライフサイクル機能の詳細な説明

目次ライフサイクル関数一般的なライフサイクルフックVue のインスタンス破棄について:要約するライフ...

JavaScriptの無限ループを検出して防止する方法の詳細な説明

目次序文for文の無限ループを修正while文の無限ループを修正要約する序文Js デッド ループはど...

Vueは小さな検索機能を実装する

この記事の例では、検索機能を実装するためのVueの具体的なコードを参考までに共有しています。具体的な...

mini-vueレンダリングのシンプルな実装

目次序文ターゲット最初のステップ:ステップ2:ステップ3:ステップ4:要約する序文現在主流のフレーム...

クリーンで美しいウェブデザインのための4つの原則

この記事では、 Webデザインに関連するこれら4 つの原則について説明します。これら4 つの原則を念...

HTML の相対パスと絶対パスの違いの分析

HTML 初心者は、ファイルを正しく参照する方法という問題によく遭遇します。たとえば、HTML ペー...

MySQL 8.0 アトミック DDL 構文の詳細な説明

目次01 アトミックDDLの紹介02 一部のDDL操作の実行動作の変更03 DDL 操作のログを表示...

js の関数の長さはどれくらいですか?

目次序文なぜいくらですか?パラメータの数デフォルトパラメータ残りのパラメータ要約する序文今日は関数の...

MySQL INT型の完全な分析

序文: Integer は MySQL で最もよく使用されるフィールド型の 1 つで、通常は整数を格...

WeChatアプレット+EChartsで動的更新プロセス記録を実現

序文最近、小さなプログラムでリアルタイムにチャートを更新するという要件に遭遇しました。最初は wx-...