Я пытаюсь создать макет слайдера с флекс-боксами, как на этой фотографии:
Здесь у меня большое фото с правой стороныи миниатюрные элементы слева.Я хочу выровнять обертку левой стороны и миниатюр с большой высотой фотографии.Но, к сожалению, это невозможно только при использовании гибких коробок, и я должен проверить высоту большой фотографии с помощью JavaScript и выровнять левую сторону с этим.
Например, проверьте этот код:
main{
position: absolute;
top: 0px;
left: 0px;
right: 0px;
bottom: 0px;
display: flex;
align-items: center;
justify-content: center;
}
.wrapper{
width: 500px;
overflow: hidden;
background: gray;
display: flex;
align-items: flex-start;
justify-content: center;
}
.right{
width: calc(100% - 150px);
height: 450px;
background: red;
}
.left{
width: 150px;
display: flex;
align-items: center;
justify-content: space-between;
flex-direction: column;
}
.item{
width: 100%;
height: 50px;
color: white;
background: green;
display: flex;
align-items: center;
justify-content: center;
}
<main>
<div class="wrapper">
<div class="left">
<div class="item">
<strong>Item</strong>
</div>
<div class="item">
<strong>Item</strong>
</div>
<div class="item">
<strong>Item</strong>
</div>
<div class="item">
<strong>Item</strong>
</div>
<div class="item">
<strong>Item</strong>
</div>
</div>
<div class="right"></div>
</div>
</main>
В примере кода у меня нет изображения, и я решил эту проблему с высотой 450px в CSS.
Так как я могу выровнять левыйсторона без JS и только с CSS?Я хочу использовать режим space-between
, чтобы показать все элементы этой высоты.Учтите, что height:100%
не работает для этой проблемы.