私は以前 Unix で C++ を使用していましたが、最近、Web 開発には JS、CSS、HTML などの多くの複雑なテクノロジが必要であることに気づきました。最近HTMLを勉強しているのですが、位置について混乱しています。インターネット上でとても分かりやすい記事を見つけたのでシェアしたいと思います。これらは、再現された接続
位置の 4 つの属性値です:
1.relative
2.absolute
3.fixed
4.static
以下では、これら 4 つの属性についてそれぞれ説明します。
sub1
sub2
< /p>
1.相対
相対属性は、どのオブジェクトに対して相対的にオフセットされているかを把握する必要があります。答えはその場所にあります。上記のコードでは、sub1 と sub2 が兄弟関係にあります。たとえば、sub1 の相対属性を設定する場合は、次の CSS コードを設定します。 ;
top : 5px;
left: 5px;
}
relative属性が設定されていない場合、sub1の位置は通常のドキュメントフローに従って特定の位置にあるはずであることがわかります。ただし、sub1 の位置が相対に設定されている場合、上、右、下、左の値に応じて想定される位置に応じてオフセットされます。相対の「相対」の意味もこれに反映されます。 。
このために必要なのは、sub1 が相対的に設定されていない場合はどこにあるかを覚えておくことだけであり、設定されたら、あるべき場所に従ってオフセットします。
次の質問は、sub2 の場所はどこですか?答えは、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属性が設定されていない場合は、通常、次のように配置されます。通常の書類の流れ。
-->
以上がHTML での位置の使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。