2017-04-13 1 views
0

Considérons un div avec 100% de largeur et 100vh de hauteur. Je veux le réduire à 50% de largeur et pour cela seulement le bord droit doit aller de 100% à 50%.L'animation Webkit ne déplace que le bord droit d'une div rectangulaire vers la gauche

Comment puis-je y parvenir?

MISE À JOUR:

Mon HTML (il réagit):

<div className={classNames("div-one", { "half-width": this.state.showRegistration })}> 
</div> 

Et css:

.div-one { 

    background: url("../../../assets/images/manhattan-min.png") no-repeat center center fixed; 
    -webkit-background-size: cover; 
    -moz-background-size: cover; 
    -o-background-size: cover; 
    background-size: cover; 

    position: absolute; 
    width: 100%; 
    min-height: 500px; 
    min-height: 100vh; 

} 

.div-one.half-width { 
    width: 50%; 
    -webkit-animation: right-to-left-div1 0.2s forwards; 
    animation: right-to-left-div1 0.2s forwards; 

} 

@keyframes right-to-left-div1{ 
    from{left:10%} 
    to{left:0%} 
} 
+1

Avez-vous essayé quoi que ce soit? Si oui, poster des css et html pertinents – Morpheus

+0

@Morpheus J'ai mis à jour ma question – Nitish

Répondre

1

Si je comprends la question, il vous suffit d'animer la largeur à 50%

div { 
 
    position: absolute; 
 
    min-height: 500px; 
 
    min-height: 100vh; 
 
    width: 100%; 
 
    background: green; 
 
    -webkit-animation: right-to-left-div1 0.2s forwards; 
 
    animation: right-to-left-div1 0.2s forwards; 
 
} 
 

 
@keyframes right-to-left-div1{ 
 
    to { 
 
    width: 50%; 
 
    } 
 
}
<div></div>

+0

Parfait! Je voulais exactement ça. Merci beaucoup! – Nitish

0

envelopper dans une autre div, positionner la div intérieure à gauche , puis transformez la largeur.