position の 4 つの属性値:
1.relative
2.absolute
3.fixed
4.static
以下では、これら 4 つの属性についてそれぞれ説明します。
<div id="parent"> <div id="sub1">sub1</id> <div id="sub2">sub2</id> </div>
1.relative
relative 属性は、どのオブジェクトに対して相対的にオフセットされているかを把握する必要があります。答えはその場所にあります。上記のコードで、sub1とsub2は兄弟関係にあります。例えば、sub1に相対属性を設定する場合は、次のCSSコードを設定します。
#sub1 { position: relative; padding: 5px; top: 5px; left: 5px; }
相対属性が設定されていない場合は、次のように理解できます。 sub1 の位置は通常のドキュメント フローに従い、特定の位置にある必要があります。ただし、sub1 の位置が相対に設定されている場合、上、右、下、左の値に応じて想定される位置に応じてオフセットされます。相対の「相対」の意味もこれに反映されます。 。
このためには、相対を設定しない場合は sub1 がどこにあるべきかを覚えておく必要があります。設定したら、あるべき場所に従ってオフセットします。
次の質問は、サブ2の位置はどこですか?答えは、sub1 がposition 属性を追加するため、以前の位置と現在の位置は変わりません。
このときsub2の位置も相対にするとどうなるでしょうか?この時点では、まだ sub1 と同じであり、元の位置に従ってオフセットされています。
相対オフセットはオブジェクトのマージンの左上側に基づいていることに注意してください。
2. 絶対
この属性は常に誤解を招きます。位置属性が絶対に設定されている場合、常にブラウザウィンドウに従って配置されると言われていますが、これは実際には間違っています。実はこれが固定属性の特徴です。
sub1の位置を絶対位置に設定した場合、オフセットの対象となるのは誰ですか?ここには 2 つの状況があります:
(1) sub1 の親オブジェクト (親オブジェクトである限り曾祖父) の親も位置属性を設定し、位置の属性値が絶対または相対である場合、つまり、デフォルト値の場合、sub1 はこの親に従って配置されます。
オブジェクトは決定されましたが、注意が必要な詳細がいくつかあることに注意してください。つまり、オブジェクトを配置するために親のどの位置決め点を使用する必要があるかということです。親がマージン、ボーダー、パディングなどの属性を設定している場合、この位置決めポイントはパディングを無視し、パディングの先頭から (つまり、パディングの左上隅からのみ開始して) 配置されます。つまり、パディングを無視しますが、もちろんマージンとボーダーは無視しません。
次の質問は、sub2 の場所はどこですか?位置が絶対に設定されている場合、sub1 は親に属していないかのように通常のドキュメント フローからオーバーフローしてしまうため、DreamWeaver では「レイヤー」と呼ばれますが、実際には同じ意味です。 。この時点で、sub2 は sub1 の位置を取得し、そのドキュメント フローは sub1 に基づくのではなく、親から直接開始されます。
(2) sub1 に位置属性を持つ親オブジェクトがない場合、body が位置決めオブジェクトとして使用され、ブラウザー ウィンドウに従って配置されます。
3. fixed
fixed は特別な絶対値です。つまり、fixed は常にボディを位置決めオブジェクトとして受け取り、スクロール バーがドラッグされてもその位置は変わりません。同様に、background-attachment:fixed
Dreamweaver
4ではサポートされていないようです。 static
position属性が設定されていない場合は、通常、次のように配置されます。通常の書類の流れ。
上記は CSS での位置の使用の内容です。さらに関連する内容については、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。