他的回复:
华为ID:hw72480910relative:定位是相对于自身位置定位(设置偏移量的时候,会相对于自身所在的位置偏移)。设置了 relative 的元素仍然处在文档流中,元素的宽高不变,设置偏移量也不会影响其他元素的位置。最外层容器设置为 relative 定位,在没有设置宽度的情况下,宽度是整个浏览器的宽度。absolute:定位是相对于离元素最近的设置了绝对或相对定位的父元素决定的,如果没有父元素设置绝对或相对定位,则元素相对于根元素即 html 元素定位。设置了 absolute 的元素脱了了文档流,元素在没有设置宽度的情况下,宽度由元素里面的内容决定。脱离后原来的位置相当于是空的,下面的元素会来占据位置。postion: 1、absolute(绝对定位),其位置相对于最近已定位的父元素,如果元素没有已定位的父元素那么它的位置相对于 2、static(默认的静态定位),即没有定位,遵循正常的文档流对象,静态定位的元素不受top、left、right、bottom影响。 3、relative(相对定位),其位置相对其正常时的位置。相对定位元素经常被用来作为绝对定位元素的容器块。 4、fixed,元素的位置相对于浏览器窗口,是固定位置。即使窗口是滚动的它也不会移动。 5、sticky(粘性定位),基于用户滚动位置来定位,在未滚动出目标区域时,它的行为就像position:relative;它的表现就像 position:fixed;,它会固定在目标位置。元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位。这个特定阈值指的是 top, right, bottom 或 left 之一,换言之,指定 top, right, bottom 或 left 四个阈值其中之一,才可使粘性定位生效。否则其行为与相对定位相同。层级问题(谁高)总结:标准流盒子,低于浮动的盒子,浮动的盒子又低于定位的盒子。定位高于浮动,浮动高于标准流。(高低和占不占位置无关)用法:1、必须有定位。(除去static之外)。2、给定 z-index 的值为层级的值。(不给默认为0)a. 层级为0的盒子,也比标准流和浮动高。b. 层级为负数的盒子,比标准流和浮动低。c. 层级不取小数)d. 层级一样,后面的盒子比前面的层级高。e. 浮动或者标准流的盒子,后面的盒子比前面的层级高。f. abselute是不占位置的,relative是站位的的。而层级的高低,是和占不占位置没有关系的。