ホームページ > 記事 > ウェブフロントエンド > CSSの位置づけを理解する
positionの4つの属性値:
#demo1
{
相対が設定されていない場合は、demo1 がどこにあるべきかを覚えておいて、設定したら、想定される位置に従ってオフセットします。
ただし、sub2の位置は元の位置であり、demo1がposition属性を追加しているため、その位置は変わりません。
このとき、demo2 の位置も相対に設定されている場合、sub1 と同じになり、元の位置に従ってオフセットされます。
相対のオフセットは、オブジェクトのマージンの左上側 (左上の頂点) に基づいていることに注意してください。
2. 絶対この属性は誤解を招きます。位置属性が絶対に設定されている場合、常にブラウザウィンドウに従って配置されると言われていますが、これは実際には間違っています。実はこれが固定属性の特徴です。
(1)demo1の親オブジェクト(親オブジェクトであれば曽祖父)もposition属性を設定し、positionの属性値を設定する場合絶対的または相対的です。つまり、デフォルト値でない場合、sub1 はこの親要素に従って配置されます。
親がマージン、ボーダー、パディングなどの属性を設定している場合、この位置決めポイントはパディングを無視し、
パディング
の開始位置から配置されます(つまり、パディングの左上隅からのみ開始します)。
は、マージンの左上端から配置が開始されると考えるのが自然ですが、考え方は異なります。
次の質問は、sub2 の場所はどこですか?位置が絶対に設定されている場合、sub1 は親に属していないかのように通常のドキュメント フローからオーバーフローしてしまうため、DreamWeaver では「レイヤー」と呼ばれますが、実際には同じ意味です。 。この時点で、sub2 は sub1 の位置を取得し、そのドキュメント フローは sub1 に基づくのではなく、親から直接開始されます。 (2)demo1にposition属性を持つ親オブジェクトがない場合は、bodyを位置決めオブジェクトとして使用し、ブラウザウィンドウに合わせて配置することになります。
fixed は常にボディを位置決めオブジェクトとして使用し、ブラウザー ウィンドウに従って配置されます。
4. static
position のデフォルト値。通常、position 属性が設定されていない場合は、通常のドキュメント フローに従って配置されます。