display: flex
для контейнера, flex-grow: 1
для правого блока и изменяете ширину у левого. Все очень просто. Рекомендую внимательно почитать про css flex =)html, body {
width: 100%;
height: 100%;
}
#container {
display: flex;
width: 100%;
height: 100%;
}
#left {
transition: width 0.3s ease-in-out;
background: #fcc;
width: 40px;
}
#left:hover {
width:200px;
}
#right {
background: #cfc;
flex-grow: 1;
}