Why does stacking order change on webkit filter hover?

This is because a value other than none establishes a stacking context. This is documented in the spec (which is currently in Working Draft status):

2 Module interactions

This specification defines a set of CSS properties that affect the
visual rendering of elements to which those properties are applied;
these effects are applied after elements have been sized and
positioned according to the Visual formatting model from [CSS21]. Some
values of these properties result in the creation of a containing
block, and/or the creation of a stacking context
.

Also the spec states:

5 Graphic filters: the filter property

A computed value of other than none results in the creation of a
stacking context
[CSS21] the same way that CSS opacity does.

Leave a Comment