2017-01-22 32 views
0

当您有多个相同类的Div彼此垂直堆叠时。如何设置相对位置,并抵消顶部说200px只移动第一个下降200px。的div(这是同一类下)的其余部分不通过200像素相对定位多个分类相同类

.question { 
    margin: 120px auto; 
    text-align: center; 
    position: relative; 
    top: 200px; 
} 

被推下来的“问题”类的所有div的边距尊重,但位置由200像素偏移仅适用于第一个div与问题类。为什么?

回答

1

我觉得这里有一点点误会。实际上,所有的div都偏移了200px,但是它们相对于它们的原始位置是偏移的,而不是相对于类别为question的其他开发者。

想想这样:你有一个容器里面有两个question divs。其中第一个位于容器顶部以下200px。第二个定位在通常定位的位置以下200px,这将低于第一个question div,而不是低于此像素的200px(否则它将低于其原始位置总计大于400像素)。

我在这里举了一个例子,让你明白我的意思。注意第三个div仍然处于原来的位置。

https://jsfiddle.net/u0sxtgz6/1/

至于保证金 - 因为它推动DIV无论从那个是以前了,所以它可以是相对于同级元素不一定相对于它自己的起始位置,这看起来不同。

+0

当然,如果它只是第一个移动200px的div,它会与第二个重叠。非常感谢 –

+0

@SirSmiles不用担心!就我个人而言,我通常使用'margin-top'而不是'top',尤其是对于相对定位的元素,除非有理由不这样做。让您更容易知道您要在元素之间获得多少空间。 – SharkofMirkwood