2015-06-17 6 views
5

Diese Lösungen (Webkit backface visibility not working) hat nicht funktioniert, da ich andere transformierte Objekte in Container haben möchte, die die Rückseite zeigen sollte.Rückseite Sichtbarkeit funktioniert nicht bei Kindern

.container { 
 
    position: relative; 
 
    transform-origin: 50% 50% 0; 
 
    transition: transform 1s ease 0s; 
 
    width: -moz-min-content; 
 
    width: -webkit-min-content; 
 
} 
 
.container img { 
 
    backface-visibility: hidden; 
 
} 
 
input:checked + .container { 
 
    transform: rotateY(180deg); 
 
}
<input type="checkbox" name="" id="" /> 
 
<div class="container"> 
 
    <img src="http://todofondosdeamor.com/wp-content/uploads/images/48/gatitos-1__400x300.jpg" alt="" /> 
 
</div>

Die Rückenfläche dieser Katze sollte nicht sichtbar sein. Irgendeine Lösung für dieses Problem?

+1

Was ist Ihr Problem genau? –

+0

Der Titel sagt es: wenn sich das Bild dreht, sind beide Flächen sichtbar, aber die Rückseite sollte unsichtbar sein. – Vandervals

Antwort

11

ich schließlich entdeckt, wie das Problem zu lösen sind Umwandlung, dies zu lösen! Das Problem war, dass das 3D das Bild nicht beeinflusste. Nur durch Hinzufügen der Eigenschaft: transform-style: preserve-3d; enthält das Bild als Teil der "3D-Welt". Vorher funktionierte die Rückseiten-Eigenschaft nicht, weil es wirklich nicht 3D war! Es war wie eine Textur auf der Oberfläche der Eltern. Jetzt ist es eine 3D-Entity mit all ihren Komponenten und es kann in 3D transformiert werden, ohne auf die Oberfläche des Elternteils zu kollabieren.

.container { 
 
    position: relative; 
 
    transform-origin: 50% 50% 0; 
 
    transition: transform 1s ease 0s; 
 
    width: -moz-min-content; 
 
    width: -webkit-min-content; 
 
    transform-style: preserve-3d; 
 
} 
 
.container img { 
 
    backface-visibility: hidden; 
 
} 
 
input:checked + .container { 
 
    transform: rotateY(180deg); 
 
}
<input type="checkbox" name="" id="" /> 
 
<div class="container"> 
 
    <img src="http://todofondosdeamor.com/wp-content/uploads/images/48/gatitos-1__400x300.jpg" alt="" /> 
 
</div>

+0

sieht gut aus mir – maioman

+0

Beachten Sie die "-Webkit-Transform-Stil: Preserve-3d; " für Chrome, Safari & Opera. Ich vergaß dies und fing an, alle möglichen Manipulationen zu machen, bis ich diese Antwort gefunden hatte und verstand, dass ich die -webkit-Version vergessen hatte, seit ich in Safari getestet hatte. Danke, dass du mir viel Zeit gespart hast !!! : D –

+0

Vielen Dank! – Zollistic

1

EDIT backface-visibility: hidden; auf Elem Einstellung

.container { 
 
    position: relative; 
 
    transform-origin: 50% 50% 0; 
 
    transition: transform 1s ease 0s; 
 
    width: -moz-min-content; 
 
    width: -webkit-min-content; 
 
} 
 
.container{ 
 
    backface-visibility: hidden; 
 
    
 
} 
 
input:checked + .container { 
 
    transform: rotateY(180deg); 
 
}
<input type="checkbox" name="" id="" /> 
 
<div class="container"> 
 
    <img src="http://todofondosdeamor.com/wp-content/uploads/images/48/gatitos-1__400x300.jpg" alt="" /> 
 
</div>

+0

Ich befürchte, dass der Container keine Rückseitensicht haben kann. Wenn es könnte, wäre die Antwort nur die Transformation. Deshalb habe ich gesagt, dass die Lösung, die ich verlinkt habe, in diesem Fall nicht sinnvoll ist. – Vandervals

+0

Sie drehen .container – maioman

+0

Ja, aber ich möchte nicht jede Objekte Rückseite in den Container verstecken, nur das Bild – Vandervals

Verwandte Themen