relative定位的理解

relative:对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置。

      设置此属性值为 relative 会保持对象在正常的HTML流中,但是它的位置可以根据它的前一个对象进行偏移。在相对(relative)定位对象之后的文本或对象占有他们自己的空间而不会覆盖被定位对象的自然空间。

试验:
      当前面有文本时,relative的DIV的高度产生偏移。 
      当没有文本时,第一个对象完全正确,第二个对象则没有任何规律。它的top既不是从父对象起算,也不是从前面的对象起算。似乎是:第一个对象的top+第一个和第二个之间的空隙。
      经过验证,三个对象,调整中间对象的宽度,结论的确如此。


      再测试左右方向,情况类似,但是为了测试横向,需要将对象设置为float:left,这样将导致下面的DIV的基准改变。

结论:
      relative是相对于父对象,用top和left进行定位的。重复时顺序往后,多个对象时定位忽略前面对象的宽和高。

原文地址:https://www.cnblogs.com/jetz/p/588023.html