2013-07-31 6 views

Antwort

11

Die Antwort jetzt, 3 Jahre nach, ist, dass Sie können. Sie müssen transform-style: preserve-3d; auf dem übergeordneten, but it's possible verwenden.

.container { 
 
    transform-style: preserve-3d; 
 
} 
 
.test1 { 
 
    width: 500px; 
 
    height: 500px; 
 
    background: red; 
 
    transform: translate3d(0, 0, 1px); 
 
} 
 
.test2 { 
 
    width: 500px; 
 
    height: 500px; 
 
    background: green; 
 
    left: 250px; 
 
    top: 250px; 
 
    position: absolute; 
 
    transform: translate3d(0, 0, 0); 
 
}
<div class="container"> 
 
    <div class="test1"> 
 
    test 
 
    </div> 
 

 
    <div class="test2"> 
 
    test #2 
 
    </div> 
 
</div>

+1

Danke, diese Antwort wurde als akzeptiert markiert. Es ist erwähnenswert, dass beide envolved-Elemente die 'transform'-Eigenschaft haben sollten. – mumu2

+0

Hey. Können Sie sich [this] (https://plnr.r.co/KT6raJ3rBgq8aO1y8Xlk) ansehen? Die Schaltfläche ist ausgeblendet, obwohl sie einen größeren Übersetzungs-z-Wert aufweist. Vielen Dank. – user1203349

+0

Hm. Ich bekomme ein großes rotes Quadrat in Chrome 58 und Safari 10.1. –

4

Kurze Antwort: No. View demo, die als Zeit arbeitet

der Entsendung

Lange Antwort: Es ist nicht zu sollte, aber manchmal, wenn beispielsweise ein Element hat eine Transformation, wenn tut sein Geschwister einiger Browser don't handle the situation well, was in dem z-Index nicht, ignoriert werden.

Im Allgemeinen ist dies jedoch, weil die transform selbst angewendet wird, nicht wegen der translateZ. Die Lösung in so einem Fall gibt es alle relevanten Elemente transform: translate3d(0px, 0px, 0px) oder etwas Ähnliches, das den Browser macht, die Elemente sorgfältiger rendern