2013-01-17 22 views
9

私のCSSスキルを彼らが変わった廃止されたダストから更新する長い旅で、私は特定のCSSプロパティ、私は奇妙な何かに気付いているか、またはある条件があるかもしれません。CSSの位置絶対的な親要素を基準にして相対

例: http://jsfiddle.net/mEpgR/

要素DIV1の親が続きですが、私は絶対に設定DIV1の位置プロパティを作った、まだ私はそれをシフトするとき、それはその親に対して移動です。私は、絶対的な位置付けに設定されたアイテムは、通常のフローよりは外れたものであり、ブラウザのポートだけを親として移動するという印象を受けました。

私には何が欠けていますか?

コード、フィドルのリンクが機能しない場合:

CSS:

.cont { 
position:relative; 
height:200px; 
top:200px; 
left:100px; 
background: green; width: 200px; 
} 

.div1 { 
background:red; 
position:absolute; 
top:50px; 
} 

HTML:

<div class="cont"> 
<div class="div1">DIV1</div> 
</div> 
+4

これは正しい動作です。 'position:absolute'は、最も近い位置にある祖先*を基準にして要素*を配置します。文書との相対的な位置を決めるには、親から 'position:relative'を削除するか、要素を親から外します。 – Blazemonger

+0

この記事を読むhttps://developer.mozilla.org/en-US/docs/CSS/position – j08691

+0

これは迅速な対応のためのものです。 CSSの動作が記載されています。 – brooklynsweb

答えて

32

絶対位置付け要素が配置されている最初の親要素に対する相対静的以外の位置。親の中にrelativeがあるので、それはこの親に対して絶対的に配置されます。

fixedの位置は、ブラウザウィンドウを基準にしています。

+2

ここに:http://css-tricks.com/absolute-positioning-inside-relative-positioning/ちょうどそれのグラフィックの説明があります。 –

関連する問題