一、静态定位static
(1)HTML 元素默认情况下的定位方式为 static(静态)。
(2)静态定位的元素不受 top、bottom、left 和 right 属性的影响。
(3)position: static; 的元素不会以任何特殊方式定位;它始终根据页面的正常流进行定位。
二、相对定位relative
(1)相对定位相对的是它原本在文档流中的位置而进行的偏移
(2)元素不会脱离文档流,而是在标准流的区域继续占有位置,后面的盒子仍然以标准流的方式对待它。
三、绝对定位absolute
(1)绝对定位不会保留原来的位置(脱离文档流),那后面盒子就会往上占了它的位置;
(2)如果没有祖先元素或者祖先元素没有定位,则以浏览器为基准定位;
(3)如果祖先元素有定位(可以是相对、绝对或者固定定位),则以最近的已经定位的祖先元素为基准移动位置。
(4)子绝父相 —— 虽然父元素的定位可以是相对、绝对或者固定定位,但是绝对定位和固定定位都会脱离标准流,所以我们实际开发中,一般都使用相对定位,这就是常说的子绝父相。
四、固定定位fixed
(1)固定定位是参照浏览器窗口的左上角进行偏移。
(2)使用固定定位之后,元素会脱离标准文档流。
(3)使用固定定位之后,在滚动浏览器页面时,元素不会随着窗口的滚动而滚动。
五、粘性定位sticky
(1)以浏览器的可视窗口为参照点移动元素(固定定位特点)
(2)粘性定位占有原先的位置(相对定位特点)
(3)必须添加 top 、left、right、bottom 其中一个才有效
六、总结
(1)学习定位一定要重点关注定位的两个点:1、是否占有位置(是否脱离文档流)。2、以谁为基准进行移动位置。
(2)学习定位的时候,着重掌握子绝父相,这是开发中经常用到的。
标签:定位,位置,浏览器,元素,五种,文档,固定,CSS From: https://blog.csdn.net/mcdcakfke/article/details/136728203