У меня есть элемент DIV с точки зрения CSS3. DIV содержит 2 дочерних DIV, и один из них имеет перемещение по оси Z. Это должно привести к тому, что один DIV будет находиться перед другим, и поэтому тот, что позади, должен быть заблокирован от просмотра.
Однако видимость этих DIV, похоже, контролируется порядком, в котором они появляются в HTML, вместо этого автоматически обрабатывается с точки зрения CSS3.
В приведенном ниже коде, несмотря на то, что #div3 находится позади #div2 по оси Z, он отображается впереди, потому что он идет после в 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