2015-06-17 13 views
5

Queste soluzioni (Webkit backface visibility not working) non funzionavano, come mi piacerebbe avere altri oggetti trasformati all'interno del contenitore che dovrebbero mostrare il backface.Backface Visibilità non funziona sui bambini

.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>

La controfaccia di quel gatto non dovrebbe essere visibile. Qualche soluzione per questo problema?

+1

Qual è il tuo problema esattamente? –

+0

Il titolo dice: quando l'immagine gira, entrambe le facce sono visibili, ma il backface dovrebbe essere invisibile – Vandervals

risposta

11

ho finalmente scoperto come risolvere questo! Il problema era che il 3d non stava influenzando l'immagine. Semplicemente aggiungendo la proprietà: transform-style: preserve-3d; include l'immagine come parte del "mondo 3d". Prima, la proprietà del backface non funzionava, perché in realtà non era 3d! Era come una trama dipinta sulla superficie del genitore. Ora è un'entità 3d con tutti i suoi componenti e può essere trasformata in 3d senza collassare sulla superficie del genitore.

.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

mi sembra buona – maioman

+0

Attenzione allo stile "-webkit-transform-style: preserve-3d; " per Chrome, Safari e Opera. L'ho dimenticato e ho iniziato a fare ogni sorta di manipolazione finché non ho trovato questa risposta e ho capito che avevo dimenticato la versione -webkit da quando stavo testando su Safari. Grazie per avermi salvato un sacco di tempo !!! : D –

+0

Grazie mille! – Zollistic

1

EDIT impostazione backface-visibility: hidden; sul elem si sta trasformando a risolvere il problema

.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

Ho paura che il container non possa avere la visibilità del backface nascosta. Se potesse, la risposta sarebbe semplicemente trasformarla. Questo è il motivo per cui ho detto che la soluzione a cui mi sono collegato non è utile in questo caso. – Vandervals

+0

stai ruotando .container – maioman

+0

sì, ma non voglio nascondere ogni oggetto backface all'interno del contenitore, solo che l'immagine – Vandervals

Problemi correlati