I have two divs: .div-one and .div-two. Initially .div-one is a full width div. On a button click it reduces to 50% width and .div-two opens from right to left with webkit animation to occupy other 50% width. This animation is smooth. Again on button click .div-one is made to 100% width and .div-two. is made 0% width. There is so far animation for this.
My HTML:
<div className={`div-one ${!this.state.showRegistration && !this.state.showLogin ? 'full-width' : 'half-width'}`}>
</div>
<If condition={this.state.showRegistration}>
<div className='div-two'>
</div>
</If>
My 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 {
-webkit-animation: right-to-left-div1 0.3s forwards;
animation: right-to-left-div1 0.3s forwards;
}
.div-one.full-width{
-webkit-animation: left-to-right-div1 0.3s forwards;
animation: left-to-right-div1 0.3s forwards;
}
.div-two {
position: relative;
width: 50%;
height: 100vh;
background-color: #EEEEEE;
-webkit-animation: right-to-left-div2 0.3s forwards;
animation: right-to-left-div2 0.3s forwards;
}
@keyframes right-to-left-div1{
to {
width: 50%;
}
}
@keyframes left-to-right-div1{
to{
width:100%
}
}
@keyframes right-to-left-div2{
from{left:100%}
to{left:50%}
}
@keyframes left-to-right-div2{
from{left:0%}
to{left:50%}
}
Example ilustration:
How can I achieve the second animation i.e. .div-two reduces from 50% to 0% to the right and div-one expands from 50% to 100% ?
