为什么我的固定定位不再有效?

时间:2015-02-17 22:37:50

标签: css3 css-position perspective

我遇到固定定位和3d变换的问题,当其元素的透视图和保留-3应用于其中时,元素似乎不会尊重定位和其他属性:

.perspective {
    transform-style: preserve-3d;
    perspective: 600px;
}

到目前为止Chrome和IE11的结果不同。我在这里有一个简单的测试用例:http://jsfiddle.net/brdvnaf8/

当我删除透视图时,定位工作正常。当我将透视应用于所有子节点的.parent元素时,定位工作正常。当我将透视仅应用于一个子节点时,它并不好。

任何人都可以解释这对于独立包装的子节点是如何工作的(或者不是)吗?

1 个答案:

答案 0 :(得分:0)

我在linux机器上,所以我没有 IE11 浏览器进行测试,但我想我知道问题出在哪里。如果Chrome和IE11的行为不同于我认为它是其中一个的错误。 我在 Chrome 上进行了测试,一切正常。它尊重 W3C 规范。

那捕获量在哪里?一些 CSS转换属性会导致包含块的创建,即使对于固定定位元素也是如此。 所以要注意这一点。

以下是一些 CSS propery / value 对,创建包含块,即使对于固定定位元素

将改变:转换;

转换除auto

以外的任何值

透视:除零(0)

以外的任何值

transform-style:preserve-3d

我认为还有更多,但我没有时间深入参考规范。所以这就是我想的问题。

以下是一些关于此内容的博文:

Un-fixing Fixed Elements with CSS Transforms

Some Gotchas That Got Me