一直迷惑于css的相对定位和绝对定位,也找了许多资料,但始终无法领会。最近终于明白了其含义,暂时看来是正确的理解,但还需要更多实践的验证。
absolute:
绝对定位的元素的位置与文档流无关,即文档流中的其它元素的布局就像此绝对定位的元素不存在一样,有此元素时,其它元素的位置和无此元素时,其它元素的位置是相同的。
绝对定位的元素位置是相对于最近的已定位的祖先元素。如果没有祖先元素,则相对于最初的包含块。
relative:
相对定位的元素是相对于该元素在文档流中的初始位置。设置了相对属性后,元素就会根据上,下,左,右的值偏离初始位置一定位置(位置有上,下,左,右决定)的地方。
以前一直是被这两个的所谓top,left之类的位置量所误导,现在看来,相对和绝对,都是相对于某个元素的位置,即距离某个元素一定空间(空间由top,left等变量确定)值的位置。
参考资料:《精通CSS》第二章,定位概述。