MDN Web Docs
理论上来说,全部 position 的取值有8个:
position:static | relative | absolute | fixed | sticky | initial | inherit | unset
其中最常用的是 static 、relative、absolute、fixed 和 sticky
initial、inherit、unset 是css的关键字,任何css属性的取值都可以设置这几个值
static与unset的区别
position: static
该关键字指定元素使用正常的布局行为,即元素在文档常规流中当前的布局位置。此时
top,right,bottom,left和z-index属性无效。
position: unset
如果CSS关键字
unset从其父级继承,则将该属性重新设置为继承的值,如果没有继承父级样式,则将该属性重新设置为初始值。换句话说,在第一种情况下(继承属性)它的行为类似于inherit,在第二种情况下(非继承属性)类似于initial。它可以应用于任何CSS属性,包括CSS简写属性all。
基于上面解释. 设置了position: unset等同于position:initial, 等同于position:static
什么意思呢?也就是当我们给一个 CSS 属性设置了 unset 的话:
- 如果该属性是默认继承属性,该值等同于
inherit - 如果该属性是非继承属性,该值等同于
initial
举个例子,color为可继承样式, 所以color: unset等同于color:inherit, border为非继承样式, 则border:unset等同于border:initial