transform:scale() 破坏了我的 z-index 顺序
transform:scale() breaking my z-index order
我确实设置了一个 HTML 页面,我在其中使用 z-index 来设置元素 "visual" 顺序。
它按预期工作;但是当我使用 transform: scale().
时中断
#blocks-both{
transform: scale(0.9);
}
我在这里做一个简化的例子:http://codepen.io/anon/pen/LNYrar
我阅读了很多关于这个特定问题的消息,但找不到使我的设计工作的解决方案。
我想我对此有些不明白。
有人可以帮忙吗?
谢谢!
这是一个已知问题:
- css z-index lost after webkit transform translate3d
- webkit-transform breaks z-index on Safari
- webkit-transform overwrites z-index ordering in Chrome 13
您可以阅读更多相关内容 here,因为它提供了深入的解释。
In addition to opacity, several newer CSS properties also create stacking contexts. These include: transforms, filters, css-regions, paged media, and possibly others. As a general rule, it seems that if a CSS property requires rendering in an offscreen context, it must create a new stacking context.
您可以通过将转换属性从 #blocks-both 移动到 #block-main 和 [=25= 来避免此问题]#block-sidebar 像这样:
#block-main, #block-sidebar {
transform: scale(0.9);
}
#block-main {
transform-origin: 100% 0;
}
#block-sidebar {
transform-origin: 0 0;
}
我也编辑了你的example。
我确实设置了一个 HTML 页面,我在其中使用 z-index 来设置元素 "visual" 顺序。 它按预期工作;但是当我使用 transform: scale().
时中断#blocks-both{
transform: scale(0.9);
}
我在这里做一个简化的例子:http://codepen.io/anon/pen/LNYrar
我阅读了很多关于这个特定问题的消息,但找不到使我的设计工作的解决方案。 我想我对此有些不明白。
有人可以帮忙吗?
谢谢!
这是一个已知问题:
- css z-index lost after webkit transform translate3d
- webkit-transform breaks z-index on Safari
- webkit-transform overwrites z-index ordering in Chrome 13
您可以阅读更多相关内容 here,因为它提供了深入的解释。
In addition to opacity, several newer CSS properties also create stacking contexts. These include: transforms, filters, css-regions, paged media, and possibly others. As a general rule, it seems that if a CSS property requires rendering in an offscreen context, it must create a new stacking context.
您可以通过将转换属性从 #blocks-both 移动到 #block-main 和 [=25= 来避免此问题]#block-sidebar 像这样:
#block-main, #block-sidebar {
transform: scale(0.9);
}
#block-main {
transform-origin: 100% 0;
}
#block-sidebar {
transform-origin: 0 0;
}
我也编辑了你的example。