gpt4 book ai didi

CSS3 透视 z 轴可见性

转载 作者:行者123 更新时间:2023-11-28 13:31:16 27 4
gpt4 key购买 nike

我有一个带有 CSS3 透视图的 DIV 元素。 DIV 包含 2 个子 DIV,其中之一在 z 轴上有平移。这应该会导致一个 DIV 在另一个前面,因此后面的那个应该被挡住。
然而,这些 DIV 的可见性似乎是由它们在 HTML 中出现的顺序控制的,而不是由 CSS3 透视图自动处理的。
在下面的代码中,尽管 #div3 在 z 轴上位于 #div2 之后,但它显示在前面,因为它在 HTML 中位于后面。
我知道我可以使用 z-index 属性来明确说明哪个 DIV 应该在前面,但同样,我正在寻找一种更自动化的方法。

<html>
<head>
<style type="text/css">
#div1
{
position: relative;
height: 150px;
width: 200px;
-moz-perspective:150px;
-webkit-perspective:150px;
}
.child
{
padding:50px;
position: absolute;
}
#div2
{
background-color: red;
}
#div3
{
background-color: green;
-moz-transform: translateZ(-50px);
-webkit-transform: translateZ(-50px);
}
</style>
</head>
<body>
<div id="div1">
<div id="div2" class="child">HELLO</div>
<div id="div3" class="child">HELLO</div>
</div>
</body>
</html>

引用:jsFiddle

最佳答案

而不是使用 perspective: 150px; 使用 transform: perspective(150px);。然后,还使用 ​​transform-style: preserve-3d; 使 z 轴可用。

这是一个引用(有一个轮换以帮助查看发生了什么):http://jsfiddle.net/joshnh/4DjLP/

这里是相关的样式:

#div1 {
transform: perspective(150px);
transform-style: preserve-3d;
}

关于CSS3 透视 z 轴可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11641937/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com