#html #css
#HTML #css
Вопрос:
Я хотел бы выровнять div
s таким образом, чтобы слева было большое расширяемое поле, подобное тем, которые вы можете видеть, и 2 выравнивающих, один поверх другого справа справа от него
Представьте, что вместо блоков 1 и 3, которые вы видите в написанном мной коде, они должны быть в виде 1 большого блока, а остальные 2 и 4 остаются выровненными по большому блоку.
Я играл с командой flex, но не могу заставить ее работать каждый раз, когда я использую команды flex, она не выравнивается должным образом и становится пирамидой
Если кто-нибудь может мне помочь и объяснить это, я был бы признателен, поскольку я не понимаю, как заставить это работать
.Scrollbox h1 {
color: #ffffff !important;
}
.scroll-con {
display: flex;
flex-flow: row wrap;
justify-content: center;
}
.Scrollbox {
background: rgba(130, 164, 179,0.6);
border: 1px solid #ffffff;
overflow-y: scroll;
width: 300px;
height: 250px;
transition: height 1s ease;
overflow: hidden;
text-align: center;
color: #ffffff;
font-family: 'Poiret One', cursive;
}
.Scrollbox:hover {
height: 500px;
overflow-y: hidden;
}
<div class="scroll-con">
<div class="Scrollbox">1</div>
<div class="Scrollbox">2</div>
<div class="Scrollbox">3</div>
<div class="Scrollbox">4</div>
</div>
Комментарии:
1. Я не могу понять, что вы пытаетесь сказать. Каков ваш ожидаемый результат?
Ответ №1:
Насколько я понимаю, вы хотите, чтобы 1 и 3 были одним длинным блоком, а 2 и 4 были 2 отдельными блоками рядом с ним?
Вы можете разделить их на два разных подразделения, где 2 и 4 будут дочерними элементами right
div.
.container {
display: flex;
}
.container>div {
flex: 1;
}
.left {
background: pink;
min-height: 500px
}
.right {
display: flex;
flex-direction: column;
background: blue;
}
.right>div {
flex: 1;
}
.right>div:first-child {
background: yellow;
}
.right>div:last-child {
background: gold;
}
<div class="container">
<div class="left">1 amp;amp; 3</div>
<div class="right">
<div>2</div>
<div>4</div>
</div>
</div>
В качестве альтернативы вы можете использовать grid
для того же.
.container {
display: grid;
grid-template-columns: 1fr 1fr;
}
.left {
min-height: 500px;
grid-row-start: 1;
grid-row-end: 3;
background-color: pink;
}
.left div {
background-color: yellow;
}
.left div div {
background-color: gold;
}
<div class="container">
<div class="left">1 amp;amp; 3</div>
<div>2</div>
<div>4</div>
</div>
Комментарии:
1. Что означает .container> div? Например, что он делает, я не знаком с этим, извините
2. Это
>
прямой дочерний селектор, который сообщает CSS применить стиль к любомуdiv
, который является прямым дочерним элементом.container
. Вы можете узнать больше о селекторах здесь ( developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors )