2012-07-07 140 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

相关问题