Css 相对定位多个div同一类

Css 相对定位多个div同一类,css,Css,当您有多个具有相同类且彼此垂直堆叠的div时。为什么将位置设置为相对位置并偏移顶部(即200px)只会将第一个div向下移动200px。同一级别的其他div不会被200px压下 .question { margin: 120px auto; text-align: center; position: relative; top: 200px; } 问题类中所有div上的边距都得到尊重,但位置偏移200px仅适用于问题类的第一个div。为什么?我想这里有点误解。事实上,所有的di

当您有多个具有相同类且彼此垂直堆叠的div时。为什么将位置设置为相对位置并偏移顶部(即200px)只会将第一个div向下移动200px。同一级别的其他div不会被200px压下

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

问题类中所有div上的边距都得到尊重,但位置偏移200px仅适用于问题类的第一个div。为什么?

我想这里有点误解。事实上,所有的div都偏移了200px,但是它们是相对于原始位置偏移的,而不是相对于其他有问题类的dev

这样想:你有一个容器,里面有两个问号。其中第一个位于容器顶部下方200px处。第二个被定位在它通常被定位的位置下方200px处,该位置正好在第一个问题div的下方,而不是在这个问题div的下方200px处,否则它将在其原始位置下方总计>400px

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


至于边距-这看起来不同,因为它将div推离之前的位置,因此它可以相对于同级元素,而不一定相对于它自己的起始位置。

当然,如果它只是移动了200px的第一个div,它将与第二个div重叠。多谢各位much@SirSmiles别担心!就我个人而言,我通常使用边距顶部而不是顶部,尤其是相对定位的元素,除非有理由不这样做。使您更容易了解元素之间的空间大小。