未设置值在CSS中是什么意思?
我有一个绝对定位的megamenu,由于它的某些父元素需要position:relative
,所以我必须在直接父元素上使用position:unset
。这可以在Chrome和Firefox中使用,但是IE11不支持unset
或initial
。
我不能简单地删除所有父元素的相对位置,因为这会破坏其他东西,但我必须让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
相关文章