未设置值在CSS中是什么意思?

2022-03-17 00:00:00 css css-position internet-explorer-11

我有一个绝对定位的megamenu,由于它的某些父元素需要position:relative,所以我必须在直接父元素上使用position:unset。这可以在Chrome和Firefox中使用,但是IE11不支持unsetinitial

我不能简单地删除所有父元素的相对位置,因为这会破坏其他东西,但我必须让megamenu相对于页面绝对定位(固定位置不起作用)。是否有可以在IE11中使用的unset替代方案?


解决方案

unset表示

如果属性的级联值是unset关键字,则如果它是继承的属性,则被视为inherit,如果不是,则被视为initial。此关键字可有效擦除所有声明的值

在您的情况下,position不是继承属性,因此它将始终考虑initial

每个属性都有一个初始值,在属性的定义表中定义。

对于position,它是static,因此您只需使用position:static,它的行为将与position:unset

相同

引用:https://drafts.csswg.org/css-cascade-3/


要使其更通用,您必须使用:

  • property:inherit如果是继承属性
  • property:<initial_value>如果它不是遗传属性的话。然后查看属性的定义表以找到初始值。

https://developer.mozilla.org/en-US/docs/Web/CSS/position

相关文章