2012-07-07 194 views
0

這個問題發給css嚮導。我GOOGLE了這一點,無法找到答案。 在這一點上,我不知道它是可能的:絕對定位一個元素*在另一個元素內

如何指定一個元素在另一個元素中的位置,半絕對可以這麼說?

我想說的是:「把元素 X像素的左邊框,無論身在何處恰好是在目前的權利。」

這可能與JavaScript,但不應該有可能與CSS?

+1

如果在演示中沒有您的實際CSS,我會說您可能會在外部元素上使用'position:relative',並在內部使用'position:absolute'。 – 2012-07-07 01:38:34

回答

2
#inner { 
    position: absolute; 
    left: 10px; 
} 

這是什麼CSS實際上做的是從「最近」父的左邊框是有absoluterelative,或fixed一個位置值#inner元素10px的位置。如果沒有找到這樣的元素,它相對於body元素是絕對定位的,但是如果您確定內部元素具有使用CSS定義其位置的父元素,則它將完全位於該父元素中。

Take a look at this JSFiddle.首先,看一下HTML和CSS來看看它是如何構造的,然後繼續使用鼠標拖動或者周圍的元素(這是在JavaScript的那樣,它純粹是爲了演示的目的)。注意拖動外部元素時,內部元素如何移動?當您拖動元素時,您所做的所有操作都將更改topleft屬性的值,並且由於其父項是絕對定位的,因此子元素將保留在其中的相同位置,而不管您在屏幕上移動它的位置。 :D

+0

感謝您的解釋。我編輯了小提琴,並在每個人的答案中加入了一點。 http://jsfiddle.net/4rP8P/1/ – lowerkey 2012-07-07 01:47:12

+0

那個小提琴真棒。謝謝! – lowerkey 2012-07-07 02:00:59

1

當然,這很容易!您所要做的就是指定父級擁有一個位置(相對或絕對),然後將絕對定位的子級與最靠近的定位父級相對放置。

困惑?

+0

當然。像這樣:http://jsfiddle.net/4rP8P/? – lowerkey 2012-07-07 01:44:01

+0

請記住,除非元素具有靜態以外的位置(如固定,絕對或相對),否則左側,頂部,右側和底部不適用 – Adam 2012-07-07 01:50:51

相關問題