2015-02-17 55 views
0

我在与固定定位和3D变换,其中,元件不会出现尊重定位等属性时,它的父元素具有透视和问题保留-3D施加到其上:为什么我的固定位置不再起作用?

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

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

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

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

回答

0

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

那么抓住了哪里?一些CSS转换属性导致创建包含块即使对于固定定位元素。 所以要注意这一点。

下面是一些CSS属性格式/值对该创建包含块即使对于固定的定位元素的:

将变:变换;

变换:自动以外的值

透视:以外的值为零(0)

变换风格:保持-3D

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

以下是有关这个东西的一些博客文章:

Un-fixing Fixed Elements with CSS Transforms

Some Gotchas That Got Me

+0

好读,感谢@Blago ERES。看起来像Eric Meyer所描述的是我的情况。相当烦人,行不通,但至少我知道现在:) – danjah 2015-02-18 20:28:41