明明是相对于一个元素(relative, absolute, fixed, or sticky)
如何牵强地解释这个“绝对”
positioned relative to its closest positioned ancestor
明明是相对于一个元素(relative, absolute, fixed, or sticky)
如何牵强地解释这个“绝对”
positioned relative to its closest positioned ancestor
个人是这样记忆的:
absolute会脱离文档流,不再受其它文档流中的元素影响和限制,不需要其它元素的位置满足特定的条件
relative不会脱离文档流,受其它文档流中的元素影响和限制,需要其它元素的位置满足特定的条件
不过absolute还是要受到closest positioned ancestor的限制,只是相对于relative,限制少一些
绝对,是指无条件的、永恒的、无限的;相对,是指有条件的、暂时的、有限的。
绝对定位的元素是相对于最近的已定位祖先元素进行定位的。如果没有已定位的祖先元素,则相对于初始包含块进行定位。因此,绝对定位的元素的位置是相对于其祖先元素的位置而言是“绝对”的,不会受到其他元素的影响。因此,绝对定位被称为“绝对”;
1.绝对 是有前提条件,即相对最近的一个父元素,即别人已经为该元素做好了前提条件;那么这个时候再做定位就不能 叫做【相对第一个已定位元素的相对定位】吧;使用中文叫做【绝对定位】更好!
2.负负得正,相相得绝
3.也可以这么理解,相对于一个已定位元素得位置进行定位,无论你怎么移动其父级最近的定位元素,子级相对与该父级定位元素的位置是绝对的不会变的
我的理解是
相对定位会随着页面滚动变化位置 不会互相堆叠 ;
固定定位属性使得元素会不随着网页的滚动而变化 在视觉上是固定在了屏幕的某一个位置上;
而绝对定位虽然也像相对定位一样会随页面滚动 但它会和相对定位有堆叠 和绝对定位也有堆叠;
就感觉相对定位之间都很客气 绝对定位就是个小流氓 赖在那就不动了 别人踩我脚了我也绝对在这站住了
sticky没学 不懂
个人愚见🤝
因为绝对定位元素脱离了文档流,不受其他元素的影响,所以叫做绝对定位,但是脱离了文档流你总得给出一个它要存在的位置吧,所以就用了相对于最近的已定位的祖先元素的办法。而相对定位是相对于元素在文档流中的位置进行定位,它的位置是相对的。
绝对定位:绝对定位使元素的位置与文档流无关,因此不占据空间。这一点与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。
相对定位:设置为相对定位的元素框会偏移某个距离。元素仍然保持其未定位前的形状,它原本所占的空间仍保留。
区别如下:
一、主体不同
1、相对定位:是设置为相对定位的元素框会偏移某个距离。
2、绝对定位:absolute 脱离文档流,通过 top,bottom,left,right 定位。
二、特点不同
1、相对定位:在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其它框。
2、绝对定位:选取其最近的父级定位元素,当父级 position 为 static 时,absolute元素将以body坐标原点进行定位,可以通过z-index进行层次分级。
【绝对】主要是指脱离了文档流,在不考虑祖宗节点变化的情况下,较为 【绝对】一些
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
5 回答1.3k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
脱离文档流,不受文档流限制